[英]Ruby begin rescue end with if-then-else
我有點想將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
在begin塊中,如果沒有引發異常,則執行if-else並向fn1返回true或false。 沒問題。
但是在開始塊中,如果引發異常,我只想打印“消息3”並結束程序,而不打印“消息1”。
任何指針,請。 謝謝。
如果要終止程序(而不是僅從fn2?
返回),可以使用Kernel#exit ,例如:
begin
<do action>
rescue
<handle error here>
puts "Message 3"
exit(1)
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.