java代码 全局异常处理,捕获到直接返回异常处理结果
时间: 2024-05-01 22:18:19 浏览: 159
好的,针对您的问题,我可以给您提供以下的全局异常处理代码示例:
```
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseBody // 返回 JSON 数据
public Result<String> exceptionHandler(HttpServletRequest request, Exception e){
// 打印异常信息
e.printStackTrace();
// 处理自定义异常
if(e instanceof BusinessException) {
BusinessException businessException = (BusinessException)e;
return Result.error(businessException.getErrorCode(), businessException.getErrorMessage());
}else {
// 若为其他异常,则将其归为系统异常
return Result.error(ErrorEnum.SYSTEM_ERROR);
}
}
}
```
这段代码使用了@ControllerAdvice注解来声明全局异常处理类,@ExceptionHandler注解用于指定捕捉哪种异常进行处理,@ResponseBody注解则用于返回JSON数据格式。在处理异常时,若为自定义异常,则返回自定义异常信息,否则将其归为系统异常。
阅读全文