例如:我们都知道在java中被除数不能为0,为0就会报by zero错误
@RestController public class TestController {@GetMapping("/ex")public Integer ex(){int a = 10 / 0;return a;}}
打印结果:
如何将这个异常进行处理?
创建全局异常处理类类名自定义
@RestControllerAdvice public class OverallHandleException {@ExceptionHandlerpublic void arithmeticException(ArithmeticException ex){String msg = ex.getMessage();if(msg.contains("by zero")){System.err.println("被除数数不能为0");}else{System.err.println("未知错误");}} }
@RestControllerAdvice:@ControllerAdvice加了一个@ResponseBody注解,用来将返回值写入到响应体
@ExceptionHandler:异常拦截器
打印结果:
首先得获取异常得名称,这样就可以对异常进行处理,也可以定义成所有异常的父级Exception