gpt4 book ai didi

Spring @ExceptionHandler 处理多种异常

转载 作者:IT老高 更新时间:2023-10-28 13:47:54 25 4
gpt4 key购买 nike

我不知道如何通过@ExceptionHandler 处理一种以上的异常。

我需要以编程方式处理这些异常,为此我需要一个共享引用。这是通过此引用“Exception ex”完成的吗?我不这么认为,因为没有像这样捕获异常,那我该怎么做呢?

我不能把所有的异常引用作为处理程序方法的参数,这没有意义,不能以编程方式处理。我需要一个共享引用,以便我可以在其上使用“instanceof”,或者将其作为一般“异常(exception)”发送到其他地方

@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 方法可以放在一些扩展的父 Controller 中,但如果只使用 defaultAnnotationHandlerMapping... ?

感谢任何帮助,我快疯了,这非常令人沮丧....

最佳答案

@ExceptionHandler 值可以设置为异常类型数组。

Spring中提到的使用异常数组的实现documentation会像:

@ExceptionHandler({
NotFoundException.class,
MissingServletRequestParameterException.class
})

关于Spring @ExceptionHandler 处理多种异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4221064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com