省略記法(def)
メソッド定義全体にかかる場合はbeginとendを省略できるようです。
def some_method
begin
# …
rescue
# …
end
end
def some_method
# …
rescue
# …
end
else, =>, ensureなどその他の文法も問題なく使えます。
省略記法(後置)
ifなどと同様、rescueでも後置記法ができます。
begin
# (1)
rescue
# (2)
end
に対応して
(1) rescue (2)
とします。 種類を指定して受けることはできませんが、特殊変数 $! によって捕まった例外を表すオブジェクトを参照できます。
Posted on Saturday February 5th