Ich möchte alle RoR-Ausnahmen in der REST-API-Anwendung mit 'rescue_from' abfangen.Wie fangen Sie die Basisausnahmeklasse in 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
aber es fängt zu viele irrelevante Ausnahmen. Kann ich nur RoR-Ausnahmen erfassen? Ist es überhaupt eine gute Übung? Wenn nicht, was können Sie sonst noch empfehlen?
Was meinen Sie mit "RoR Ausnahmen". Ist 'ZeroDivision', geworfen von dem Controller/Modell, das irrtümlicherweise versucht hat, den Durchschnitt für die Anzahl von Null zu berechnen," der RoR one "? – mudasobwa
@mudasobwa: zum Beispiel, Routing-Fehler, fehlende Parameter, Datensatz nicht gefunden usw. – Romiras
Wie auf der Erde 'RecordNotFound' ist Rails-spezifisch? Es könnte eine Anwendung geben, die die Datenbank (und 'ActiveRecord') komplett neben Rails verwendet. Für Routing-Fehler siehe ['ActionControllerError'] (https://github.com/rails/rails/blob/52ce6ece8c8f74064bb64e0a0b1ddd83092718e1/actionpack/lib/action_controller/metal/exceptions.rb). Übrigens, was hast du mit anderen Ausnahmen zu tun? Lass deine Bewerbung einfach sterben? – mudasobwa