JAva異常チェーン(異常翻訳)

3728 ワード

1つの異常をキャプチャしてから別の異常を放出し、元の異常の情報を保存するのは典型的なチェーン処理であり、「異常チェーン」と呼ばれている.
すべてのThrowableのサブクラスは、コンストラクタで1つのcauseオブジェクトをパラメータとして受け入れることができます.このcauseは、元の例外を表します.これにより、元の例外を新しい例外に渡すことができ、現在の位置で新しい例外を作成して投げ出しても、この異常チェーンを通じて異常が最初に発生した位置を追跡することができます.
 
   
   
   
   
  1. public calSal throws SalException  
  2.     try 
  3.     { 
  4.         //  
  5.         ... 
  6.     } 
  7.     catch(SQLException sqle) 
  8.     { 
  9.         // ,  
  10.         ... 
  11.         // message  
  12.         throw new SalException(sqle); 
  13.     } 
  14.     catch(Exception e) 
  15.     { 
  16.         // ,  
  17.         ... 
  18.         // message  
  19.         throw new SalException(e); 
  20.     } 
  21. // SalException , , 。 
  22. class SalException extends Exception 
  23.     public SalException(){} 
  24.     public SalException(String msg) 
  25.     { 
  26.         super(msg); 
  27.     } 
  28.     // Throwable  Throwable  Exception Error  
  29.     public SalException(Throwable t) 
  30.     { 
  31.         super(t); 
  32.     }