[Seasar-user:9956] Re: SQLRuntimeException で Error 画面に遷移しない ( 題名変更 )

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 8月 17日 (金) 11:59:57 JST


お世話になっております。TuMikiです。

確認に時間がかかってしまいました。

要件確定段階で
1.エラーはすべてエラー画面に遷移する。
2.入力系では、途中でロールバックはするが、エラー画面には遷移しない。
の要件があり、appThrowsInterceptorをDIしていました。

小林 (koichik)のご指摘どおりこのままでは、
SRuntimeExceptionをフックしているため、
SQLRuntimeExceptionも同時に、遷移しないことになっていました。

で、改めて、要件を確認したところ2が不要ということでしたので、
appThrowsInterceptor自体を使わないことで解決となりました。

どうもお騒がせいたしました。
以上


----- Original Message -----
>Date: Tue, 14 Aug 2007 20:00:59 +0900
>From: Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
>To: [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:9899] Re:
> SQL ファイルに truncate とエラー常時
>
>
>小林 (koichik) です.
>
>Date:    Tue, 14 Aug 2007 19:44:51 +0900 (JST)
>From:    [E-MAIL ADDRESS DELETED]
>To:       [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:9897] Re: SQL ファイルに truncate とエラー常時
>
>> ただ、TeedaErrorPage.diconを見ると、Thowableで遷移となっているのに
>> RuntimeExceptionがエラー画面に遷移しない問題は残っていますが・・・・。
>
>Teeda Core の AppThrowsInterceptor をそのまま
>使っているとそうなるようです.
>
>public class AppThrowsInterceptor extends ThrowsInterceptor {
>    private static final long serialVersionUID = 1L;
>    public String handleThrowable(SRuntimeException ex,
>            MethodInvocation invocation) throws Throwable {
>        FacesContext context = FacesContext.getCurrentInstance();
>        context.addMessage(null, new FacesMessage(ex.getMessage()));
>        return null;
>    }
>}
>
>となっているので,これをベースに
>
>    public String handleThrowable(SQLRuntimeException ex,
>            MethodInvocation invocation) throws Throwable {
>        FacesContext context = FacesContext.getCurrentInstance();
>        context.addMessage(null, new FacesMessage(ex.getMessage()));
>        throw ex;
>    }
>
>を追加して,SQLRuntimeException などエラー
>ページに遷移したい例外を捕まえて,エラー
>メッセージを設定した後例外を再スローしてください.
>
>
>--
><signature>
>   <name>Koichi Kobayashi</name>
>   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
></signature>
>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user



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