Getting 'message' from a custom exception class
这个问题在这里提到答案。 我需要访问自定义异常的
我认为直接调用
1 2 3 4 5 6 7 8 | class MyCustomError < StandardError attr_reader :object def initialize(object) @object = object puts message end end |
但这不是我的预期。 它给了我一些字符串:
1 | "MyModuleNameHere::MyCustomExceptionClassNameHere" |
代替:
1 | "a message" |
我的直觉倾向于否,因为
您可以传递消息并呼叫
1 2 3 4 5 6 7 8 9 | class MyCustomError < StandardError def initialize(message, object) # ... super(message) end end MyCustomError.new("Oh no", thing).message # =>"Oh no" |
这本关于Ruby例外的电子书非常值得:http://exceptionalruby.com/
您将错误的类名称作为默认