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