なんかググってもストレートにヒットしなかったのでメモ
環境
$ ruby -v
ruby 2.3.5p376
やりたいこと
IOError
と RangeError
のときだけキャッチして同じ処理してほしいなーとかそういう時にどうやって書くか
答え
IOError, RangeError
みたいにカンマで区切ればよい
例
▼raise_error.rb
def raise_test(arg) raise ArgumentError if arg == 1 raise IOError if arg == 2 raise RangeError if arg == 3 p "何も起きてないよ" rescue ArgumentError p "ArgumentErrorだよ" rescue IOError, RangeError p "IOかRangeErrorだよ" end raise_test(ARGV[0].to_i)
▼動かしてみた
$ ruby raise_error.rb 0 "何も起きてないよ" $ ruby raise_error.rb 1 "ArgumentErrorだよ" $ ruby raise_error.rb 2 "IOかRangeErrorだよ" $ ruby raise_error.rb 3 "IOかRangeErrorだよ" $ ruby raise_error.rb 4 "何も起きてないよ"