例如:我们都知道在java中被除数不能为0,为0就会报by zero错误
- @RestController
- public class TestController {
- @GetMapping("/ex")
- public Integer ex(){
- int a = 10 / 0;
- return a;
- }
-
- }
打印结果:
如何将这个异常进行处理?
创建全局异常处理类类名自定义
- @RestControllerAdvice
- public class OverallHandleException {
-
-
- @ExceptionHandler
- public 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