[Seasar-user:1358] Re: S2Dao でエラー処理
Yasuo Higa
higa
2004年 12月 14日 (火) 20:01:28 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:1356] Re: S2Dao でエラー処理" において、
"suga <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> 初めまして、suga と申します。
> On Tue, 14 Dec 2004 18:50:08 +0900 (JST)
> 須賀 祐一 <[E-MAIL ADDRESS DELETED]> wrote:
>
>
> import org.seasar.framework.aop.interceptors.ThrowsInterceptor;
>
> public class AlreadyExistsThrowsInterceptor extends ThrowsInterceptor {
> public void handleThrowable(Throwable t, MethodInvocation invocation) {
> if (t instanceof SQLRuntimeException) {
> SQLException e2 = (SQLException) t.getCause();
> if ("23000".equals(e2.getSQLState())) {
> if (e2.getErrorCode() == -104) {
> throw new AlreadyExistsRuntimeException(e2);
> }
> }
> }
> throw t;
> }
> }
>
public void handleThrowable(SQLRuntimeException t, MethodInvocation invocation) {
SQLException e2 = (SQLException) t.getCause();
if ("23000".equals(e2.getSQLState())) {
if (e2.getErrorCode() == -104) {
throw new AlreadyExistsRuntimeException(e2);
}
}
}
でもっと簡単にいけます。
処理したい例外の数分、handleThrowableを書いて、最初の引数を処理したい例外の
型にします。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
Seasar-user メーリングリストの案内