如果發生異常,如何指定全局救援,並且如果您使用Sinatra作爲API或應用程序,那麼您如何處理日誌記錄?Sinatra中的全局救援和日誌記錄異常
回答
404可以與not_found
方法如例如的幫助下進行處理:
not_found do
'Site does not exist.'
end
500S可以通過調用錯誤方法用的塊時,例如處理:
error do
"Application error. Pls try later."
end
的細節錯誤可以通過sinatra.error
在request.env
如下訪問:
error do
'An error occured: ' + request.env['sinatra.error'].message
end
我無法在開發環境中開箱即用 - 爲了使其正常工作,我必須在我的sinatra配置中將show_exceptions
設置爲false。
class BaseApp < Sinatra::Base
configure { set :show_exceptions, false }
error do |err|
raise "Error: #{err}"
end
end
這樣設置後,當設置爲true,允許錯誤頁面,顯示回溯和環境信息時unhanded發生異常,但我可以禁用它只是火自定義錯誤。
這是正確的答案。沒有配置線,它不起作用。 – pmontrasio
實際上,必須禁用「:show_exceptions」和「:raise_errors」(即設置爲false)才能執行並返回通用錯誤塊(即無異常類或狀態碼)。 –
請注意,示例中的'err'是異常的消息,也可以通過'env ['sinatra.error']。message'獲得。 –
- 1. Caliburn - 異常處理和救援
- 2. 開始和救援塊異常處理
- 3. Log4Net日誌記錄異常
- 4. Sitecore異常處理和日誌記錄
- 5. Heroku日誌記錄和異常跟蹤
- 6. cf.net異常和其他日誌記錄
- 7. 全局日誌記錄服務
- 8. 異常日誌記錄在主塔
- 9. 日誌記錄剛剛出現異常
- 10. ASP.NET MVC異常日誌記錄
- 11. ASP.NET異常處理/日誌記錄
- 12. Elmah備份異常日誌記錄
- 13. 「救援異常」不拯救超時::錯誤net_http
- 14. Java日誌記錄全局日誌程序
- 15. Ruby異常 - 如果語句救援不處理異常
- 16. rails 3 - 引發異常?使用開始,救援和飼養Expections
- 17. Asp.net MVC異常日誌記錄只獲取頁面異常
- 18. WP7和異常管理,日誌記錄和驗證
- 19. 如何在使用Log4j2異步日誌記錄時處理日誌記錄中的異常?
- 20. 簡單的手工和ASP.NET MVC異常日誌記錄?
- 21. 如何確定在Ruby中正在救援的異常?
- 22. 如何修改救援條款中的異常消息?
- 23. 救援 - NoMethodError - 未定義的方法日誌brassring
- 24. C++中的異步線程安全日誌記錄
- 25. WCF錯誤日誌記錄和SQL異常4060錯誤
- 26. C# - 異常日誌記錄和返回狀態
- 27. Log4j2和Jboss EAP 7:異常日誌記錄
- 28. CanCanCan救援
- 29. 加入救援
- 30. .Net中的異常日誌記錄工具
我該怎麼做,以檢查異常如果它是500,我的意思是什麼錯了?謝謝。 – Jane
@Jane查看我的更新回答 – maprihoda