あんまり書く機会がないのでメモ
環境
ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin22]
構文
公式ドキュメント曰く
{{式1}} rescue {{式2}}
の形式で書くことができ、以下と同義になる
begin {{式1}} resuce {{式2}} end
公式ドキュメントにも言及があるが、ワンライナーの場合はrescueの後に記述するErrorTypeを指定することができない。そのためStandardErrorのサブクラスである全ての例外をすくい上げることにはなる。もし特定のエラーを拾いたい場合にこの記述方法は採用できないので注意。
例
以下のように書くことでエラーを補足することができる。
def demo p "テストです" 1 / 0 rescue p "なんか例外がおきました" end