0

我已经定义了几个自定义异常类,从StandardError的继承像这样:商店例外类别名称

class InvalidPage < StandardError;end 

如果该异常被提出我要救它,并将其存储到我的DB供参考。到目前为止,我保存它的消息和回溯,但我似乎无法保存它的名称(InvalidPage)。我曾尝试过:

InvalidPage.class 
InvalidPage.class.name 
InvalidPage.name 

但是以上都不适用于我。

如何访问并保存异常名称以及消息和回溯?

回答

0

你可以做这样的事情:

class InvalidPage < StandardError; end 

begin 
    raise InvalidPage 

rescue InvalidPage => error  
    p error.class.to_s 
    p error.backtrace 

end 

# Output 
# "InvalidPage" 
# ["file.rb:4:in `<main>'"]