先日のNet::HTTPの例外補足方法、 rescue Timeout::Error だけではエラーを捕捉しきれませんでした。*1 たしかErrnoの何かかEOFErrorだったはずなのですが、うっかりエラーメッセージを記録しわすれてしまったうえに、サーバの調子が悪い時にしかお目にかからないのでなかなか再現できません。 あれこれぐぐってみると、EOFErrorもErrnoも起きるような雰囲気。rescue Timeout::Error を指定するときには rescue もしくは rescue Exception の併用が欠かせませんね。 begin Net::HTTP.get(url) rescue puts "exception on HTTP: StandardError #{$!}" rescue Timeout::Error puts "exception on HTTP: Tim