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