为什么异常处理程序没有在spring mvc中捕获错误

Ire*_*ene 5 spring

我想在springMVC3中使用异常处理程序捕获一个错误.我注释了异常.i可以捕获throwable和任何异常.但是当我尝试使用Error.It没有捕获异常.任何想法,为什么它如此.下面的代码捕获例外

ExceptionHandler(InvalidDataException.class)
public ModelMap handleException(InvalidDataException ex) {
    logger.debug("exception catched  :" + ex);

    return new ModelMap();

}
Run Code Online (Sandbox Code Playgroud)

但下面没有抓住.

@ExceptionHandler(Error.class)
public ModelMap handleException(Error ex) {
    logger.debug("exception catched  :" + ex);

    return new ModelMap();

}
Run Code Online (Sandbox Code Playgroud)

mat*_*sev 3

第二个示例不起作用,因为您捕获了Error,它扩展了Throwable不是 Exception。您会发现,如果您将“@ExceptionHandler”和“handleException()”方法更改为“Exception”、“InvalidDataException”或任何其他感兴趣的异常,则该代码将起作用。