0
我想用'rescue_from'在REST API應用程序中捕獲任何RoR異常。如何在Ruby on Rails中捕獲基本異常類?
rescue_from StandardError do |exception|
message = Rails.env.production? ? 'API server error' : exception.message
render json: {status: "Error", message: message}, status: :internal_server_error
end
但它捕獲了太多不相關的例外。我能僅捕獲RoR異常嗎?這是一個很好的做法嗎?如果不是,還有什麼可以推薦的?
什麼意思是「僅限RoR例外」。從控制器/模型中拋出的「ZeroDivision」錯誤地試圖計算零件數量的平均值,「RoR one」? – mudasobwa
@mudasobwa:例如,路由錯誤,缺少參數,未找到記錄等。 – Romiras
地球上的'RecordNotFound'如何是Rails特有的?除了Rails之外,可能有一個應用程序完全使用數據庫(和「ActiveRecord」)。有關路由錯誤,請參見['ActionControllerError'](https://github.com/rails/rails/blob/52ce6ece8c8f74064bb64e0a0b1ddd83092718e1/actionpack/lib/action_controller/metal/exceptions.rb)。順便說一句,你打算如何處理拋出的其他異常?只是讓你的應用程序死亡? – mudasobwa