【发布时间】:2011-05-12 09:17:14
【问题描述】:
我不知道如何通过@ExceptionHandler 处理一种以上的异常。
我需要以编程方式处理这些异常,为此我需要一个共享引用。这是通过此参考“Exception ex”完成的吗?我不这么认为,因为没有像这样捕获异常,那我该怎么做呢?
我不能把所有的异常引用作为处理程序方法的参数,这没有意义,不能以编程方式处理。我需要一个共享引用,以便我可以在其上使用“instanceof”,或者将其作为一般“例外”发送到其他地方
@ExceptionHandler({DescriptionCstOrderException.class, SpecializationCstOrderException.class, NoUploadFileException.class,
DeadLineCstOrderException.class, DocumentCstOrderException.class, CommentCstOrderException.class})
public String handleFormException(Exception ex, ActionRequest actionRequest) {
logger.error(ex.getMessage());
SessionErrors.add(actionRequest, ex.getClass().getName());
return "mainOrderForm";
}
附加问题:如果我想处理org.springframework.web.multipart.MaxUploadSizeExceededException,它不会从处理程序的任何方法中抛出?因为@ExceptionHandler 只捕获从处理程序方法之一抛出的异常。
exceptionHandler 方法可以放在一些扩展的父控制器中,但如果只使用defaultAnnotationHandlerMapping...?
感谢任何帮助,我快疯了,这非常令人沮丧....
【问题讨论】: