ページの先頭行へ戻る
Big Data Integration ServerV1.4.0 検索編アプリケーション開発ガイド
FUJITSU Software

11.2.5 エラー発生時の対処

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)
}

(1) エラーレベル

getErrLevelメソッドを使用することで、エラーレベルを取得することができます。

エラーの発生により、コネクションが強制切断される場合があります。エラーレベルを調べることで、ユーザはエラー発生後のアプリケーションの状態を知ることができます。

エラーレベルとして、以下の3つを返却しています。

定数名

意味

SHUN_ERROR

パラメタ間違いなど、警告レベルのエラーが発生したことを意味します。エラーの発生箇所から再実行してください。

SHUN_ERROR_TRANSACTION_ROLLEDBACK

エラーの発生により、トランザクションがキャンセルされた状態です。トランザクションの開始点から再実行してください。

SHUN_ERROR_CONNECTION_TERMINATED

エラーの発生により、コネクションが強制切断された状態です。エラーが発生したShunConnectionオブジェクトを解放したあと、コネクションの確立から再実行してください。


(2) エラーメッセージ

getMessageメソッドを使用することで、エラーメッセージを取得することができます。

エラーメッセージの詳細は、“メッセージ集”の“API実行時に出力されるメッセージ”を参照してください。


11.2.5.1 エラー発生時の対処例

エラー発生時の対処例について説明します。


処理の流れ

エラー発生時は、取得したエラーレベルによって再実行する箇所を切り分けます。エラーレベルによる再実行処理の切分けについて、以下の図に示します。


図11.13 エラー発生時の対処


(1) パラメタ間違いなどのエラーが発生した場合

SHUN_ERRORが返却されます。この場合、パラメタなどを修正後、失敗した処理を再実行します。


(2) トランザクションがキャンセルされた場合

SHUN_ERROR_TRANSACTION_ROLLEDBACK(注1)が返却されます。この場合、トランザクションを開始した位置(注2)から再実行します。


注1) 自動コミットを無効にした場合のみ、返却するエラーレベルです。自動コミットが有効の場合は、本エラーレベルは返却しません。
注2) APIからは、明示的にトランザクションを開始することはできません。自動コミットを無効にした後、データに対する初回の更新操作によって自動的に開始されます。


(3) Shunsakuとの接続が強制切断された場合

SHUN_ERROR_CONNECTION_TERMINATEDが返却されます。この場合、エラーが発生したShunConnectionオブジェクトを解放し、コネクションの確立を再実行します。