我有点坚持使用 begin-rescue-end 和 if-else-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。这没问题。
但是在开始块中,如果引发异常,我只想打印“消息 3”并结束程序,而不打印“消息 1”。
请任何指点。谢谢。