一、配置全局异常
1.例
import org.springframework.web.bind.annotation.*;
@CrossOrigin
@RequestMapping("/user")
@RestController
public class UserController {
@GetMapping ("/selectUser")
public void selectUser(){
System.out.println( 0 / 0);
}
}
2.页面
3.配置全局异常
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
@RestControllerAdvice
public class CustomExceptionConfig {
@ResponseStatus(HttpStatus.OK)
@ExceptionHandler(ArithmeticException.class)
public Map<String, Object> handleMissingServletRequestParameterException(HttpServletRequest request, ArithmeticException e) {
Map<String, Object> map = new HashMap<>();
map.put("code", 100000);
map.put("msg", "除零异常");
map.put("url", request.getRequestURL());
return map;
}
}
4.测试
1.关键注解
- @RestControllerAdvice 全局注解
- @ExceptionHandler(value=Exception.class) 捕获不同异常,这里捕获是Exception异常,你也可以指定其它异常
2.自定义异常
在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。
所有异常都必须是 Throwable 的子类。
如果希望写一个检查性异常类,则需要继承 Exception 类。
如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。