[Seasar-user:11978] 【S2Dao】エラー時のExceptionの種類について

的場 大輔 [E-MAIL ADDRESS DELETED]
2007年 12月 7日 (金) 17:52:40 JST


お世話になります。的場と申します。

SQL実行時に発生するExceptionについてお教えいただきたく、
質問させていただきます。

Exception等のキーワードで過去の情報を探したつもりですが、
見落としがございましたらご容赦ください。


s2-framework-2.4.13
s2dao-1.0.43

で動作させております。


トランザクション内で、2つのテーブルを更新していたのですが、
どちらもcatchされるExceptionがSQLRutimeExceptionのため、
判別できない状態です。

処理の内容は、以下のようなものです。

メソッド AAA
----------------------------------------
1.AテーブルのUpdate
  ただし、WHERE句の条件に合致するレコードが無い場合があります。
  (実行結果は0行になることがあるということです。)
2.BテーブルへのInsert
  ただし、主キーが重複し例外が発生することがあります。
----------------------------------------

上記2処理をメソッドAAAで行い、メソッドAAAにトランザクションが設定してあります。

このとき、どちらの処理でエラーが発生してもSQLRutimeExceptionが発生するため、
簡単にエラーを判別できないのですが、見分ける方法はあるのでしょうか?
(デバッグ時にException内をウォッチすると、
 奥のほうのdetailMessageにNo results were・・・のメッセージがあるのはわかったのですが)

過去の情報から、排他制御で更新対象がない場合は
NotSingleRowUpdateRuntimeExceptionが発生することはわかったのですが、
この場合は違うようで、情報を探していました。

お手数お掛けし申し訳ございませんが、
ご教授宜しくお願いします。




Seasar-user メーリングリストの案内