Store Exception Class Name for StandardError in Rails
我已经定义了几个从StandardError继承的自定义异常类,如下所示:
1 | class InvalidPage < StandardError;end |
如果引发此异常,我想将其解救并将其存储到我的数据库中以供参考。 到目前为止,我保存了它的消息和回溯,但我似乎也无法保存其名称(InvalidPage)。 我试过了:
1 2 3 | InvalidPage.class InvalidPage.class.name InvalidPage.name |
但以上都不适合我。
如何访问和保存异常名称以及消息和回溯?
你可以这样做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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>'"] |