4

catch 句で HttpServletResponse エラーを設定している興味深いシナリオがあります。「response.sendError(..)」も例外をスローします。元の例外の詳細を保持するために、例外処理中に例外を処理する最良の方法は何ですか?

私はこのようなものを持っています:

try {
...
} catch(Exception e) {
  try {
      response.sendError(500);
    } catch(IOException e2) {
      //Can I do something like:
      //'throw new ServletException(e,e2)' here?
    }
}

つまり、両方の例外からの情報を次にスローされる例外にまとめる最善の方法は何でしょうか? 2番目の例外を処理するときに、最初の例外からの情報を失いたくありません。

一般に、try catch ブロックが複数あると、可読性が低下します。理想的には、その混乱を避けたいと思います。メソッドに埋め込まれた try/catch を常にバンドルできます...それでもまだ悪いようで、すべての例外の詳細を保持しても解決しません。

4

2 に答える 2