Spring-MVC异常处理

   

  • //异常处理类
  • @Controller
  • public class ServletInterceptor {
  •     @RequestMapping("testException")
  •         public String testException(){
  •             System.out.println("---------------join Exception-------------");
  •             int i = 1/0;
  •             return "MyJsp";
  •         }
  • //@ExceptionHandler(Exception.class)//@Exception   该异常处理只能处理该类的异常
  • public String testHandler(Exception e){//此处只能存在Exception参数
  •   System.out.println(e);
  •          return "MyJsp";
  • }

   

   

  1. @ControllerAdvice  //处理所有能捕获的异常
  2. public class MyExceptionHandler {
  3.     @ExceptionHandler(Exception.class)
  4.     public String testHandler(Exception e){
  5.         System.out.println("join--------------Exception-------------");
  6.         System.out.println(e);
  7.         return "MyJsp";
  8.     }
  9. }

   

***自定义异常——方法级别

   

  • 方法级别:
  • @RequestMapping("testException2")
  •     public String testException2(@RequestParam("i") Integer i) {
  •         System.out.println("---------------join Exception111111111111111111111-------------");
  •         System.out.println(i);
  •         if(i != 1){
  •             System.out.println("如果程序抛出异常将会重定向至方法异常处理");
  •             return "redirect:testMethodExcesption";
  •         }
  •         return "MyJsp";
  •     }

       

  • //方法异常处理
  • @ResponseStatus(value=HttpStatus.CONTINUE,reason="错误信息")
  •     @RequestMapping("testMethodExcesption")
  •     public String testMethodExcesption(){
  •         System.out.println("join---------------testMethodExcesption");
  •         return "MyJsp";
  •     }

   

***自定义异常——类级别

   

  1. @ResponseStatus(value=HttpStatus.ACCEPTED,reason="test Exception")//p1:异常码  p2:说明
  2. public class MyExceptionJsp extends Exception{
  3. //自定义对异常的处理
  4. }

   

posted @ 2020-10-17 14:44  黑质白章  阅读(83)  评论(0编辑  收藏  举报