如何为异常实现默认行为? begin rescue else
不起作用(我认为应该)。在ruby中处理默认异常
而且,在场景中是不是else
毫无意义?在没有异常发生时必须运行的任何代码都会在begin-rescue
块之间运行。
顺便说一句,我有以下解决方法,但我不满意它。所有的
class MyException < Exception
end
class YourException < Exception
end
begin
raise MyException if 2 > 50
raise YourException if 1 < 90
rescue Exception => e
case e.message
when /MyException/
puts "MyException Caught"
else
puts "Default Exception Caught"
end
end
应该做到以下几点:抢救MyException,然后救援异常(不知道为什么我没有这样做过。:() – oozzal