【发布时间】:2018-11-16 14:40:30
【问题描述】:
在下面的例子中:
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 救援块时不会调用。问题出在哪里?
【问题讨论】:
-
rescue MyCustomerror拯救了MyCustomerror及其子类。但是ZeroDivisionError不是它的子类之一。
标签: ruby exception custom-exceptions