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実行時に出力されるメッセージ”を参照してください。
エラー発生時の対処例について説明します。
処理の流れ
エラー発生時は、取得したエラーレベルによって再実行する箇所を切り分けます。エラーレベルによる再実行処理の切分けについて、以下の図に示します。
図11.13 エラー発生時の対処
SHUN_ERRORが返却されます。この場合、パラメタなどを修正後、失敗した処理を再実行します。
SHUN_ERROR_TRANSACTION_ROLLEDBACK(注1)が返却されます。この場合、トランザクションを開始した位置(注2)から再実行します。
注1) 自動コミットを無効にした場合のみ、返却するエラーレベルです。自動コミットが有効の場合は、本エラーレベルは返却しません。
注2) APIからは、明示的にトランザクションを開始することはできません。自動コミットを無効にした後、データに対する初回の更新操作によって自動的に開始されます。
SHUN_ERROR_CONNECTION_TERMINATEDが返却されます。この場合、エラーが発生したShunConnectionオブジェクトを解放し、コネクションの確立を再実行します。