例外処理に関して多くの議論がなされてきたことは知っていますが、私の状況に固有のアドバイスが必要です。
現在、レイヤーを使用したSpring MVCアプリケーションに取り組んでいます。Controller->Services->DAOサービス クラスは、主に 2 種類の例外HibernateExceptionとIOException.
HibernateExceptionトランザクションが成功しなかった場合、サービスはロールバックを実行する必要がありIOException、それはチェックされていない例外であり、キャッチまたはスローする必要があるため、最初のオプションを好みます。
スタック内でこれらをさらに処理するより良い方法は次のとおりです。
- これらの例外をコントローラーに再スローし、コントローラーで
ExceptionHandlerHTTP エラーコード 500 を送信する必要があります - または、catch ブロックで通常の
JSON responseオブジェクト、設定status=failure、および適切なエラー メッセージを作成し、これをコントローラーに返しますか?