如何捕获Face FileNotFoundException?

时间:2011-03-07 12:38:26

标签: exception jsf java-ee try-catch filenotfoundexception

我怎样才能抓住

  

com.sun.faces.context.FacesFileNotFoundException

在Java EE Web应用程序中?

我尝试在我的web.xml文件中添加以下行但是我没有成功:

  ...
  <error-page>
    <error-code>404</error-code>
    <location>/404.jsf</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/404.jsf</location>
  </error-page>
  <error-page>
    <exception-type>FacesFileNotFoundException</exception-type>
    <location>/404.jsf</location>
  </error-page>
  <error-page>
    <exception-type>FileNotFoundException</exception-type>
    <location>/404.jsf</location>
  </error-page>
  <error-page>
    <exception-type>FailingHttpStatusCodeException</exception-type>
    <location>/404.jsf</location>
  </error-page>
</web-app>

1 个答案:

答案 0 :(得分:6)

您需要指定FQN(完全限定名称),而不仅仅是N作为例外类型。

<exception-type>com.sun.faces.context.FacesFileNotFoundException</exception-type>

或者,如果您已经使用OmniFaces,请注册FacesExceptionFilter,然后将FacesFileNotFoundException作为404处理。