ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

3.17 エラー情報の取得

アプリケーション実行中に異常が発生した場合は、以下の対処を行い、問題を取り除いてください。

エラー情報の取得

JDBCドライバ使用中にエラーが発生した場合、catchブロックに記述した処理が行われます。catch文には、エラー情報を取得する処理などを記述します。

データベース関連のエラーはSQLExceptionが通知され、それ以外のエラーはExceptionが通知されます。SQLExceptionは、Exceptionよりも前に記述してください。

エラーメッセージが通知された場合

アプリケーション実行中に、JDBCドライバのエラーメッセージが通知された場合、“付録E メッセージリファレンス”および“5.4 アプリケーションのデバッグ”を参照し、対処を行ってください。

記述例

エラー情報を取得する場合の記述例を以下に説明します。

try
{
        :
con.commit();
}
catch(SQLException e)
{
    System.out.println("ERROR MESSAGE : " + e.getMessage());    (1)
    System.out.println("SQLSTATE : " + e.getSQLState());        (2)
    System.out.println("ERROR CODE : " + e.getErrorCode());     (3)
        :
    con.rollback();                                             (4)
        :
}  

catch(Exception ex)
{
    System.out.println("ERROR MESSAGE : " + ex.getMessage());   (1)
    ex.printStackTrace();                                       (5)
        :
    con.rollback();                                             (4)
        :
}

(1) エラーメッセージの取得

(2) SQLSTATE値の取得

(3) Vendorエラーメッセージのエラーコードの取得

(4) トランザクションのロールバック

(5) スタックトレースの取得


以下に各項目の設定方法を示します。

エラーメッセージの取得

getMessageメソッドを使用し、エラーメッセージを取得します。

SQLSTATE値の取得

発生したエラーがSQLExceptionの場合、エラーに対するSQLSTATE値が返却されます。

SQLExceptionクラスのgetSQLStateメソッドで取得することができます。

Vendorエラーメッセージのエラーコードの取得

SQLExceptionクラスのgetErrorCodeメソッドでVendorエラーメッセージのエラーコードを取得できます。

トランザクションのロールバック

トランザクションをロールバックします。

Connectionインタフェースのrollbackメソッドを使用します。

スタックトレースの取得

java.lang.ThrowableクラスのprintStackTraceメソッドを使用し、スタックトレースを取得します。