我有一條例外訊息,我想將其決議為 JSON 物件,以便讀出其中的鍵值對。訊息看起來像
{"message":"my message","error_code":404}
代碼如下所示:
rescue Exception => e
puts e
error = e.to_json
error_json = JSON.parse(error)
error_code = JSON.parse(error_json)['error_code']
end
對我來說似乎很奇怪,我必須決議兩次。不應該error已經是 JSON 物件了嗎?如果我嘗試使用 error['error_code'] 列印出值,我只會說 'error_code'
如何訪問error變數中的值?
uj5u.com熱心網友回復:
感謝@brcebn 和@max,我意識到我在這里試圖解決錯誤的問題。
我寫了一個自定義的例外,現在我沒有問題:
my_exception.rb
class MyError < StandardError
attr_reader :message
attr_reader :error_code
def initialize(msg, error_code)
@msg = msg
@error_code = error_code
super(msg)
end
end
在 my_service.rb 中呼叫例外
...
raise MyError.new("my message", response.code)
最后在我的檔案中:
rescue Exception => e
error_code = e.error_code
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/426360.html
下一篇:模擬GoogleAPI請求
