Java APIを使用したアプリケーションでエラーが発生した場合、ShunExceptionを通知します。ShunExceptionクラスのメソッドを使用することで、以下の情報を取得することができます。
エラーレベル
エラーメッセージ
記述例
| try {
    :
} catch (ShunException ex) {
     int errorLevel = ex.getErrLevel();                                (1)
     switch( errorLevel ) {
       case ShunException.SHUN_ERROR :
         System.out.println("エラーレベル  :SHUN_ERROR");
         break;
       case ShunException.SHUN_ERROR_TRANSACTION_ROLLEDBACK :
         System.out.println("エラーレベル  :SHUN_ERROR_TRANSACTION_ROLLEDBACK");
         break;
       case ShunException.SHUN_ERROR_CONNECTION_TERMINATED :
         System.out.println("エラーレベル  :SHUN_ERROR_CONNECTION_TERMINATED");
         break;
     }
     System.out.println("エラーメッセージ:" + ex.getMessage());         (2)
} | 
getErrLevelメソッドを使用することで、エラーレベルを取得することができます。
エラーの発生により、コネクションが強制切断される場合があります。エラーレベルを調べることで、ユーザはエラー発生後のアプリケーションの状態を知ることができます。
エラーレベルとして、以下の3つを返却しています。
| 定数名 | 意味 | 
|---|---|
| SHUN_ERROR | パラメタ間違いなど、警告レベルのエラーが発生したことを意味します。エラーの発生箇所から再実行してください。 | 
| SHUN_ERROR_TRANSACTION_ROLLEDBACK | エラーの発生により、トランザクションがキャンセルされた状態です。トランザクションの開始点から再実行してください。 | 
| SHUN_ERROR_CONNECTION_TERMINATED | エラーの発生により、コネクションが強制切断された状態です。エラーが発生したShunConnectionオブジェクトを解放したあと、コネクションの確立から再実行してください。 | 
getMessageメソッドを使用することで、エラーメッセージを取得することができます。
エラーメッセージの詳細は、“メッセージ集”の“API実行時に出力されるメッセージ”を参照してください。
エラー発生時の対処例について説明します。
処理の流れ
エラー発生時は、取得したエラーレベルによって再実行する箇所を切り分けます。エラーレベルによる再実行処理の切分けについて、以下の図に示します。
図9.15 エラー発生時の対処

SHUN_ERRORが返却されます。この場合、パラメタなどを修正後、失敗した処理を再実行します。
SHUN_ERROR_TRANSACTION_ROLLEDBACK(注1)が返却されます。この場合、トランザクションを開始した位置(注2)から再実行します。
注1) 自動コミットを無効にした場合のみ、返却するエラーレベルです。自動コミットが有効の場合は、本エラーレベルは返却しません。
注2) APIからは、明示的にトランザクションを開始することはできません。自動コミットを無効にした後、データに対する初回の更新操作によって自動的に開始されます。
SHUN_ERROR_CONNECTION_TERMINATEDが返却されます。この場合、エラーが発生したShunConnectionオブジェクトを解放し、コネクションの確立を再実行します。