begin-キーワードなしでこれはどのように機能しますか?
def show
@post = BlogPost.find(params[:id])
rescue ActiveRecord::RecordNotFound
redirect_to root_path
end
なぜそうではないのでしょうか?
def show
begin
@post = BlogPost.find(params[:id])
rescue ActiveRecord::RecordNotFound
redirect_to root_path
end
end
どちらのバリエーションも機能します。試してみました。しかし、最初のものを理解するのに苦労しています。
begin/end はレスキューが使用できる場所の 1 つにすぎません。 begin を def または do に置き換えるだけで、概念的には同じです。
begin
err
rescue
"error"
end
def m
err
rescue
"error"
end
[1].map do |i|
err
rescue
"error"
end
クラスとモジュールも機能しますが、何に使用するかわかりません。
class A
err
rescue
"error"
end
module B
err
rescue
"error"
end
https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://docs.ruby-lang.org/en/3.3/syntax/exceptions_rdoc.html