JAva異常チェーン(異常翻訳)
1つの異常をキャプチャしてから別の異常を放出し、元の異常の情報を保存するのは典型的なチェーン処理であり、「異常チェーン」と呼ばれている.
すべてのThrowableのサブクラスは、コンストラクタで1つのcauseオブジェクトをパラメータとして受け入れることができます.このcauseは、元の例外を表します.これにより、元の例外を新しい例外に渡すことができ、現在の位置で新しい例外を作成して投げ出しても、この異常チェーンを通じて異常が最初に発生した位置を追跡することができます.
すべてのThrowableのサブクラスは、コンストラクタで1つのcauseオブジェクトをパラメータとして受け入れることができます.このcauseは、元の例外を表します.これにより、元の例外を新しい例外に渡すことができ、現在の位置で新しい例外を作成して投げ出しても、この異常チェーンを通じて異常が最初に発生した位置を追跡することができます.
- public calSal throws SalException
- {
- try
- {
- //
- ...
- }
- catch(SQLException sqle)
- {
- // ,
- ...
- // message
- throw new SalException(sqle);
- }
- catch(Exception e)
- {
- // ,
- ...
- // message
- throw new SalException(e);
- }
- }
- // SalException , , 。
- class SalException extends Exception
- {
- public SalException(){}
- public SalException(String msg)
- {
- super(msg);
- }
- // Throwable Throwable Exception Error
- public SalException(Throwable t)
- {
- super(t);
- }
- }