en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant simplement les valeurs retournées :
------------------------------------------------------------------------ def fetchUrl(uri_str, limit = 10) return 0 if limit == 0 response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess then response when Net::HTTPRedirection then fetchUrl(response['location'], limit - 1) else response.error! end return 1 if limit == 10 return limit if limit < 10 end ------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en Ruby... -- une bévue
Luc Heinrich <luc@honk-honk.com> wrote:
en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un
bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant
simplement les valeurs retournées :
------------------------------------------------------------------------
def fetchUrl(uri_str, limit = 10)
return 0 if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetchUrl(response['location'], limit -
1)
else
response.error!
end
return 1 if limit == 10
return limit if limit < 10
end
------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en
Ruby...
--
une bévue
en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant simplement les valeurs retournées :
------------------------------------------------------------------------ def fetchUrl(uri_str, limit = 10) return 0 if limit == 0 response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess then response when Net::HTTPRedirection then fetchUrl(response['location'], limit - 1) else response.error! end return 1 if limit == 10 return limit if limit < 10 end ------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en Ruby... -- une bévue
laurent.pertois
Une bévue wrote:
un truc qui sert à rien quoi...
...dans ton cas.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Une bévue <pere.noel@laponie.com.invalid> wrote:
un truc qui sert à rien quoi...
...dans ton cas.
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
luc
Une bévue wrote:
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
Ca veut dire quoi "ça plante" ?
Si l'url est invalide 'get_response' va lancer une exception SocketError, ou un truc du genre, ce qui est tout à fait normal. Si l'url est valide mais que la resource n'existe pas, tu lances toi même une exception en faisant 'response.error!'. Donc tout me parrait tout à fait normal.
-- Luc Heinrich
Une bévue <pere.noel@laponie.com.invalid> wrote:
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
Ca veut dire quoi "ça plante" ?
Si l'url est invalide 'get_response' va lancer une exception
SocketError, ou un truc du genre, ce qui est tout à fait normal. Si
l'url est valide mais que la resource n'existe pas, tu lances toi même
une exception en faisant 'response.error!'. Donc tout me parrait tout à
fait normal.
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
Ca veut dire quoi "ça plante" ?
Si l'url est invalide 'get_response' va lancer une exception SocketError, ou un truc du genre, ce qui est tout à fait normal. Si l'url est valide mais que la resource n'existe pas, tu lances toi même une exception en faisant 'response.error!'. Donc tout me parrait tout à fait normal.
-- Luc Heinrich
pere.noel
Luc Heinrich wrote:
Ca veut dire quoi "ça plante" ?
qu'après l'url "invalide" (pour moi invalide veut dire url d'un domaine qui n'existe pas mais dont la syntaxe de l'url est correcte).
Si l'url est invalide 'get_response' va lancer une exception SocketError, ou un truc du genre, ce qui est tout à fait normal.
comment récupérer cette SOcketError, sans que le prog s'arrête.
Si l'url est valide mais que la resource n'existe pas, tu lances toi même une exception en faisant 'response.error!'. Donc tout me parrait tout à fait normal.
donc l'exemple donné dans le tuto n'est pas bon, il faut que je me renseigne pour savoir comment sortir autrement.
je ne sais pas gérer les erreurs en ruby, en tout cas pas comme en java, où le prog après avoir envoyé son message d'erreur peut continuer... -- une bévue
Luc Heinrich <luc@honk-honk.com> wrote:
Ca veut dire quoi "ça plante" ?
qu'après l'url "invalide" (pour moi invalide veut dire url d'un domaine
qui n'existe pas mais dont la syntaxe de l'url est correcte).
Si l'url est invalide 'get_response' va lancer une exception
SocketError, ou un truc du genre, ce qui est tout à fait normal.
comment récupérer cette SOcketError, sans que le prog s'arrête.
Si
l'url est valide mais que la resource n'existe pas, tu lances toi même
une exception en faisant 'response.error!'. Donc tout me parrait tout à
fait normal.
donc l'exemple donné dans le tuto n'est pas bon, il faut que je me
renseigne pour savoir comment sortir autrement.
je ne sais pas gérer les erreurs en ruby, en tout cas pas comme en java,
où le prog après avoir envoyé son message d'erreur peut continuer...
--
une bévue
qu'après l'url "invalide" (pour moi invalide veut dire url d'un domaine qui n'existe pas mais dont la syntaxe de l'url est correcte).
Si l'url est invalide 'get_response' va lancer une exception SocketError, ou un truc du genre, ce qui est tout à fait normal.
comment récupérer cette SOcketError, sans que le prog s'arrête.
Si l'url est valide mais que la resource n'existe pas, tu lances toi même une exception en faisant 'response.error!'. Donc tout me parrait tout à fait normal.
donc l'exemple donné dans le tuto n'est pas bon, il faut que je me renseigne pour savoir comment sortir autrement.
je ne sais pas gérer les erreurs en ruby, en tout cas pas comme en java, où le prog après avoir envoyé son message d'erreur peut continuer... -- une bévue
luc
Une bévue wrote:
comment récupérer cette SOcketError, sans que le prog s'arrête.
begin response = Net::HTTP.get_response(URI.parse(uri_str)) rescue SocketError puts "booom!" end
donc l'exemple donné dans le tuto n'est pas bon, il faut que je me renseigne pour savoir comment sortir autrement.
L'exemple est bon, il est juste simplifié.
je ne sais pas gérer les erreurs en ruby, en tout cas pas comme en java, où le prog après avoir envoyé son message d'erreur peut continuer...
La gestion des exception est très similaire, il n'y a rien de compliqué.
-- Luc Heinrich
Une bévue <pere.noel@laponie.com.invalid> wrote:
comment récupérer cette SOcketError, sans que le prog s'arrête.
begin
response = Net::HTTP.get_response(URI.parse(uri_str))
rescue SocketError
puts "booom!"
end
donc l'exemple donné dans le tuto n'est pas bon, il faut que je me
renseigne pour savoir comment sortir autrement.
L'exemple est bon, il est juste simplifié.
je ne sais pas gérer les erreurs en ruby, en tout cas pas comme en java,
où le prog après avoir envoyé son message d'erreur peut continuer...
La gestion des exception est très similaire, il n'y a rien de compliqué.
parfait, je l'avais sous le code mais à la page sur les regexp... -- une bévue
Jaypee
Une bévue wrote:
Luc Heinrich wrote:
en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant simplement les valeurs retournées :
------------------------------------------------------------------------ def fetchUrl(uri_str, limit = 10) return 0 if limit == 0 response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess then response when Net::HTTPRedirection then fetchUrl(response['location'], limit - 1) else response.error! end return 1 if limit == 10 return limit if limit < 10 end ------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en Ruby... Je ne sais pas si çà répondrait à ta question mais il y a un exemple de
code sur la page de FXruby un exemple pour aller consulter son Dilbert quotidien, à la fois d'ouverture de la page web et parsing HTML de la page. <http://www.fxruby.org/examples/dilbert.rb> Sinon le recours à begin ... rescue => exception ... end la version Ruby du try/catch devrait t'aider à bien retomber sur tes pattes dans tous les cas. Le code typique ressemble à ça : begin Net::HTTP.start(uri_str,80) { |http| response = http.get("/") rescue => exc exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode end La réponse est plutôt ça : "#<SocketError: getaddrinfo: No address associated with nodename>" ou ça : #<Net::HTTPOK 200 OK readbody=true>
J-P
Une bévue wrote:
Luc Heinrich <luc@honk-honk.com> wrote:
en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un
bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant
simplement les valeurs retournées :
------------------------------------------------------------------------
def fetchUrl(uri_str, limit = 10)
return 0 if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetchUrl(response['location'], limit -
1)
else
response.error!
end
return 1 if limit == 10
return limit if limit < 10
end
------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en
Ruby...
Je ne sais pas si çà répondrait à ta question mais il y a un exemple de
code sur la page de FXruby un exemple pour aller consulter son Dilbert
quotidien, à la fois d'ouverture de la page web et parsing HTML de la
page. <http://www.fxruby.org/examples/dilbert.rb>
Sinon le recours à
begin
...
rescue => exception
...
end
la version Ruby du try/catch devrait t'aider à bien retomber sur tes
pattes dans tous les cas.
Le code typique ressemble à ça :
begin
Net::HTTP.start(uri_str,80) {
|http|
response = http.get("/")
rescue => exc
exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode
end
La réponse est plutôt ça :
"#<SocketError: getaddrinfo: No address associated with nodename>"
ou ça :
#<Net::HTTPOK 200 OK readbody=true>
en ruby, si j'essaie sur un site qui n'existe pas, le module plante,
Personne ne pourra t'aider de ce coté si tu ne donnes pas au moins un bout de code...
ben, j'ai "bêtement" utilisé l'exemple de la docum, en changeant simplement les valeurs retournées :
------------------------------------------------------------------------ def fetchUrl(uri_str, limit = 10) return 0 if limit == 0 response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess then response when Net::HTTPRedirection then fetchUrl(response['location'], limit - 1) else response.error! end return 1 if limit == 10 return limit if limit < 10 end ------------------------------------------------------------------------
donc ça plante si j'entre l'adresse d'un site qui n'existe pas...
alors que je souhaite obtenir, dans ce cas, le code d'erreur...
merci d'avance, nb : j'ouvre un autre fil sur la détection d'encodage en Ruby... Je ne sais pas si çà répondrait à ta question mais il y a un exemple de
code sur la page de FXruby un exemple pour aller consulter son Dilbert quotidien, à la fois d'ouverture de la page web et parsing HTML de la page. <http://www.fxruby.org/examples/dilbert.rb> Sinon le recours à begin ... rescue => exception ... end la version Ruby du try/catch devrait t'aider à bien retomber sur tes pattes dans tous les cas. Le code typique ressemble à ça : begin Net::HTTP.start(uri_str,80) { |http| response = http.get("/") rescue => exc exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode end La réponse est plutôt ça : "#<SocketError: getaddrinfo: No address associated with nodename>" ou ça : #<Net::HTTPOK 200 OK readbody=true>
J-P
pere.noel
Jaypee wrote:
Je ne sais pas si çà répondrait à ta question mais il y a un exemple de code sur la page de FXruby un exemple pour aller consulter son Dilbert quotidien, à la fois d'ouverture de la page web et parsing HTML de la page. <http://www.fxruby.org/examples/dilbert.rb> Sinon le recours à begin ... rescue => exception ... end la version Ruby du try/catch devrait t'aider à bien retomber sur tes pattes dans tous les cas. Le code typique ressemble à ça : begin Net::HTTP.start(uri_str,80) { |http| response = http.get("/") rescue => exc exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode end La réponse est plutôt ça : "#<SocketError: getaddrinfo: No address associated with nodename>" ou ça : #<Net::HTTPOK 200 OK readbody=true>
ouais, merci beaucoup, je vais pouvoir me dépatouiller...
c'est bien FXRuby, portable ? -- une bévue
Jaypee <rf.oodanaw@sd.eepyaj> wrote:
Je ne sais pas si çà répondrait à ta question mais il y a un exemple de
code sur la page de FXruby un exemple pour aller consulter son Dilbert
quotidien, à la fois d'ouverture de la page web et parsing HTML de la
page. <http://www.fxruby.org/examples/dilbert.rb>
Sinon le recours à
begin
...
rescue => exception
...
end
la version Ruby du try/catch devrait t'aider à bien retomber sur tes
pattes dans tous les cas.
Le code typique ressemble à ça :
begin
Net::HTTP.start(uri_str,80) {
|http|
response = http.get("/")
rescue => exc
exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode
end
La réponse est plutôt ça :
"#<SocketError: getaddrinfo: No address associated with nodename>"
ou ça :
#<Net::HTTPOK 200 OK readbody=true>
ouais, merci beaucoup, je vais pouvoir me dépatouiller...
Je ne sais pas si çà répondrait à ta question mais il y a un exemple de code sur la page de FXruby un exemple pour aller consulter son Dilbert quotidien, à la fois d'ouverture de la page web et parsing HTML de la page. <http://www.fxruby.org/examples/dilbert.rb> Sinon le recours à begin ... rescue => exception ... end la version Ruby du try/catch devrait t'aider à bien retomber sur tes pattes dans tous les cas. Le code typique ressemble à ça : begin Net::HTTP.start(uri_str,80) { |http| response = http.get("/") rescue => exc exc.inspect // Je n' ai aps fouillé rdoc pour trouver la bonne méthode end La réponse est plutôt ça : "#<SocketError: getaddrinfo: No address associated with nodename>" ou ça : #<Net::HTTPOK 200 OK readbody=true>
ouais, merci beaucoup, je vais pouvoir me dépatouiller...