我定义了几个自StandardError继承的自定义异常类,如下所示:

class InvalidPage < StandardError;end

如果引发此异常,我想将其挽救并将其存储到我的数据库中以供引用。到目前为止,我保存了它的消息和回溯,但似乎也无法保存它的名称(InvalidPage)。我试过了:
InvalidPage.class
InvalidPage.class.name
InvalidPage.name

但以上这些都不适合我。

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

最佳答案

您可以执行以下操作:

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>'"]

关于ruby-on-rails - 在Rails中存储StandardError的异常类名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21144698/

10-09 15:14