[Seasar-user:1361] Re: S2Dao でエラー処理

須賀 祐一 yu1_suga
2004年 12月 15日 (水) 08:36:37 JST


須賀です。

ひがさん、sugaさんありがとうございます。

早速、みなさんのアドバイスを参考にコーディングしてみます。

今後もよろしくお願いします。



> <[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 mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
須賀 祐一
  株式会社 アトラス
  E-Mail:[E-MAIL ADDRESS DELETED]
  TEL:0593-34-0609 FAX:0593-34-1620
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



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