[英]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.