簡単に言うと、java.sql.SQLException
が一番上にあって、SQLエラーを細かく分類するために、java.sql.SQLException
の継承クラス(子孫)を設けています。
細かく判別する必要が無ければ、java.sql.SQLException
として例外処理をするだけでも良いですし、エラーの種類によって処理を分けたいのであれば、サブクラスで判別したりします。
ちょっとだけ特別なのが、SQLWarning
で、警告のチェーンを構築する、つまりたくさんの警告があったら、それをつなげてひとつのSQLWarning
を構築してスローしたりします。複数の警告は、getNextWarning
メソッドで取り出します。
APIドキュメントのjava.sql.SQLException
のページを開いて、「直系の既知のサブクラス」と書かれている欄を見てみてください。
SQLException (Java Platform SE 8 API仕様)
ほとんどが、java.sql.SQLException
の子か孫です。
階層ツリーも見てみましょう。
パッケージjava.sqlの階層 (Java Platform SE 8 API仕様)
SQLException
の子や孫の例外クラスは、クラスの説明にどんな時に発生する例外かが書いてあるので、階層ツリーからたどって、クラスの説明を読んでみてください。
その他にも、JDBCドライバーは、それぞれのDBMS独自のSQLException
とその子孫を継承した例外クラスを持っています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/30 10:54