ないと思います。
ライアン・デイビスが言うように
例外を救出しないでください。これまで。または私はあなたを刺します。
その声明の詳細については、こちらをご覧ください。
Rails 3.2 は、2 つのミドルウェアで例外処理を行います。
- ActionDispatch::ShowExceptions
- ActionDispatch::DebugExceptions
実行して確認できます
$ rake middleware
ActionDispatch::ShowExceptions [ソース]
例外ページをレンダリングするために本番環境で使用されます。
ActionDispatch::DebugExceptions [ソース]
開発環境で使用され、例外が発生したときに詳細なスタック トレースをレンダリングします。action_dispatch.show_detailed_exceptions
より正確に true の場合、ミドルウェア コール チェーンを停止し、スタック トレースをレンダリングします。
したがって、このミドルウェアで通常のことを行う最も簡単な方法は、 のcall
メソッドにモンキーパッチを適用しActionDispatch::DebugExceptions
、必要なすべてのことを行ってから、元のメソッドを呼び出すことです。
ただし、これを行うより良い方法は、これら 2 つの間に独自のミドルウェアを含めることです。その中で、呼び出しをレスキュー ブロック内にラップし、カスタム処理を行います。
私はAirbrakeのメンテナーであり、これはまさに私たちが現在行っていることです。
また、自己ホスト型の代替手段であるErrbitを確認することもできます。