Ruby1.8.7のコードセクションがあります
rescue SystemCallError
ただし、プログラムがで終了する場合がありますErrno::ETIMEDOUT
。SytemCallErrorはすべてのErrnoエラーをキャッチすることになっているのではありませんか?
編集:コードは
rescue SystemCallError, StandardError
ありがとう
Ruby1.8.7のコードセクションがあります
rescue SystemCallError
ただし、プログラムがで終了する場合がありますErrno::ETIMEDOUT
。SytemCallErrorはすべてのErrnoエラーをキャッチすることになっているのではありませんか?
編集:コードは
rescue SystemCallError, StandardError
ありがとう
それは確かにあるはずです!rescue
スローされているエラーのパスにあると確信していますか?
>> Errno::ETIMEDOUT.superclass
SystemCallError
>> Errno::ETIMEDOUT.new.is_a? SystemCallError
true
また:
>> begin
?> raise Errno::ETIMEDOUT, "Fail, please"
>> rescue SystemCallError, StandardError
>> puts "Caught #{$!.inspect}"
>> end
Caught #<Errno::ETIMEDOUT: Operation timed out - Fail, please>