【发布时间】:2011-06-15 08:36:36
【问题描述】:
在 Ruby 中,是否可以挽救除指定异常之外的所有异常?
【问题讨论】:
在 Ruby 中,是否可以挽救除指定异常之外的所有异常?
【问题讨论】:
在不了解您的问题的情况下,我建议 Ken Bloom 的答案。
不过,我想了解更多关于你为什么这样做的信息。
您是否担心一个非常严重的异常,并且不想拯救那个,但允许拯救不太严重的异常?
在这种情况下,我会让我的自定义异常继承自 Exception 而不是 StandardError 然后拥有
begin
do_risky_stuff
rescue # Not rescue Exception
handle_less_serious_stuff
end
【讨论】:
begin
rescue MyException
raise #to reraise the same exception without changing it
rescue Exception => e
#do something with e
end
【讨论】:
不是这样的。但是如果它是 MyException,您可以挽救所有异常并重新引发异常。
【讨论】: