RubyでTimeout::Errorを無視したい。

以下のコードを実行中にTimeout::Errorが発生することがあります。
res = Net::HTTP.start(@feed.host, @feed.port) do |http|
http.request(req)
end
今は単純にbegin/rescueで括っているのですが、これだとプログラムが終了してしまいます。
プログラムが終了しないようにするにはどうすればいいのでしょうか?
エラーメッセージは日記を見てください。
http://d.hatena.ne.jp/afternoontea/20070603

回答の条件
  • 1人2回まで
  • 登録:2007/06/03 15:08:25
  • 終了:2007/06/04 00:06:11

回答(2件)

id:wnagata No.1

wnagata回答回数170ベストアンサー獲得回数182007/06/03 17:05:51

ポイント5pt

rescueの中でretryを呼べばいいのではないでしょうか。

http://jonaquino.blogspot.com/2005/03/scraping-google-directory-...

id:Bookmarker No.2

しおり回答回数191ベストアンサー獲得回数342007/06/03 17:22:15

ポイント65pt

Timeout::Error クラスは、StandardError のサブクラスではないので、rescue 節には補足するクラスを指定する必要があります。

Rubyリファレンスマニュアル - TimeoutError

Rubyリファレンスマニュアル - 制御構造

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません