我已经定义了几个从StandardError继承的自定义异常类,如下所示:
class InvalidPage < StandardError;end
如果引发此异常,我想将其解救并将其存储到我的数据库中以供参考。到目前为止,我保存了它的消息和回溯,但我似乎也无法保存其名称(InvalidPage)。我试过了:
InvalidPage.class
InvalidPage.class.name
InvalidPage.name
但以上都不适用于我。
如何访问和保存例外名称以及消息和回溯?
答案 0 :(得分:1)
您可以这样做:
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>'"]