2017-04-10 43 views
0

我正在執行sql函數並捕獲標準錯誤。這是正確的方式嗎?如果不是,我怎麼能捕獲特定的異常?如何解救rails中的特定異常

query = ActionController::Base.helpers.sanitize(sql) 
    begin 
     result = ActiveRecord::Base.connection.exec_query(query) 

    rescue StandardError => e 
     raise Programmability::FatalError.new(nil, e.inspect) 
    end 

回答

1

您正在捕捉一個半特定的例外。爲了趕上一個特定的異常變化StandardError到你感興趣的錯誤。

你有你e需要的所有信息,所以如果你想了解更多,Rails.logger.debug(e.class)將向log/development.log讓你可以調整你的rescue添加信息。

+0

感謝tadman。你能告訴我什麼是我可以用StandardError改變的特定異常嗎?也有什麼辦法我也可以顯示錯誤的查詢? – User7354632781

+1

您可以使用'Rails.logger'來記錄各種信息,包括'query'變量。我不知道你想要捕捉什麼異常,但我已經解釋了你如何能夠發現。 – tadman

相關問題