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/04 00:06:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:wnagata No.1

回答回数170ベストアンサー獲得回数18

ポイント5pt

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

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

id:Bookmarker No.2

回答回数191ベストアンサー獲得回数34

ポイント65pt

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

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

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

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

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

トラックバック

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

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

回答リクエストを送信したユーザーはいません