私は、if-else-end で begin-rescue-end を使用することにちょっとこだわっています。以下のコード スニペットを参照してください。
def fn1
unless fn2?
puts "Message 1"
return
end
puts "Message 2"
end
def fn2?
begin
<do action>
rescue
<handle error here>
puts "Message 3"
return
end
if <condition>
puts "Message 4"
return true
else
puts "Message 5"
return false
end
end
開始ブロックでは、例外が発生しない場合、if-else が実行され、fn1 に true または false が返されます。これで問題ありません。
しかし、開始ブロックでは、例外が発生した場合、「メッセージ 1」を出力せずに「メッセージ 3」を出力してプログラムを終了したいと考えています。
ポインタをください。ありがとう。