问题:@ExceptionHandler(Exception.class)进行全局异常处理,但是我有个方法不想用这个全局异常处理,想使用自己单独的异常处理方式,怎么排除这个方法呢。
解决方案:
重新自定义一个异常类TestException,使用ExceptionHandler(TestException.class)添加这个自定义异常类,也进行全局异常处理。
这样使用这个异常类的方法就会使用TestException这个异常,不会再去使用Exception这个全局异常处理。
全局异常:
@RestControllerAdvice
@Slf4j
public class AllExceptionHandler {
@ExceptionHandler(Exception.class)
public String handleException(Exception e) {
log.error("全局异常信息:", e);
return "这是全局异常";
}
}
自定义异常:
public class TestException extends RuntimeException{
}
使用自定义异常的方法:
@RestController
public class TestController {
@ResponseBody
@ExceptionHandler(TestException.class) //使用自定义异常
public String test(){
if(true){
//抛出自定义异常测试
throw new TestException();
}
return "成功";
}
//使用全局异常
@ResponseBody
public String testAll() throws Exception{
if(true){
//抛出全局异常测试
throw new Exception();
}
return "成功";
}
}
暂时没找到可以直接排除的方式



