我似乎找不到太多关于自定义异常类的信息。
我所知道的
您可以声明您的自定义error类,并让它从StandardError
继承,因此它可以是rescue
d:
class MyCustomError < StandardError
end
这使您可以使用以下命令来引发它:
raise MyCustomError, "A message"
然后,在解救的时候得到这个信息
rescue MyCustomError => e
puts e.message # => "A message"
我不知道什么
我想给我的异常提供一些自定义字段,但我想从父类继承message
属性。我在读on this topic时发现@message
不是exception类的实例变量,所以我担心我的继承无法工作。
有人能给我更多的细节吗?如何实现具有object
属性的自定义error类?以下内容是否正确:
class MyCustomError < StandardError
attr_reader :object
def initialize(message, object)
super(message)
@object = object
end
end
然后:
raise MyCustomError.new(anObject), "A message"
要获得以下信息:
rescue MyCustomError => e
puts e.message # => "A message"
puts e.object # => anObject
它会起作用吗?如果起作用,这是正确的做事方式吗?
https://stackoverflow.com/questions/16106645
复制相似问题