在以下示例中:
class Foo
class MyCustomerror < StandardError
def message
"My custom error"
end
end
def self.do_standard
1 / 0
rescue StandardError => e
puts e.message
end
def self.do_custom
1 / 0
rescue MyCustomerror => e
puts e.message
end
end
我的通话救援块有一个问题,该参数是MyCustomerror。 如果我调用Foo.do_standard,则调用救援块,但是当我调用具有MyCustomerror的Foo.do_custom救援块时,则不会调用。问题出在哪里?
答案 0 :(得分:2)
您的代码中没有任何地方可以引发MyCustomError
异常,因此没有什么可以挽救的。该代码可能引发的唯一异常是ZeroDivisionError
。