いつも解決法を忘れて、同じ失敗をするので、備忘録を兼ねてメモ。次のように書く。 require 'net/http' Net::HTTP.version_1_2 begin Net::HTTP.start('www.example.com', 80) {|http| response = http.get('/index.html') puts response.body } rescue Exception => e #例外処理 end rescue節で、明示的にExceptionを指定しないと、Timeout例外が発生した時に例外を捕捉できない。これは、Timeout例外がStandardErrorのサブクラスではないため。 プログラミング言語 Ruby リファレンスマニュアルより引用。 例外の一致判定は例外のクラスが rescue 節で指定したクラスと同じかまたはサブクラスであるかど