[Seasar-user:9899] Re: SQL ファイルに truncate とエラー常時

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 8月 14日 (火) 20:00:59 JST


小林 (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 メーリングリストの案内