なんか、普通にrescueだけ書くだけだと、catchしないんですよね。Rubyのnet/httpでファイルをダウンロードする時に確実に例外を捕捉するにはによると、Timeoutの例外がStandardErrorサブクラスでないために、明示的にExceptionを指定する必要があるようです。 require 'net/http' begin Net::HTTP.start('www.example.com', 80) {|http| response = http.get('/') puts response.body } rescue Exception => e #例外処理 end