zoukankan      html  css  js  c++  java
  • SpringMVC的异常

    @ExceptionHandler(value={ArithmeticException.class})
        public ModelAndView ex1(Exception ex){
            ModelAndView mv=new ModelAndView();
            mv.setViewName("error");
            mv.addObject("ex", ex);
            return mv;        
        }

    在出现异常的类中添加异常的方法。

    一、注解的时候不在使用@RequestMapping(),而是使用@ExceptionHandler()进行注解。

           @ExceptionHandler()的参数是:

      value= {  ArithmeticException.class},是一个数组,可以添加多个异常的说明

    二、这时候如果想向前天传递参数就不能在方法的参数中使用Map,而是改用

      ModelAndView。

    三。如果在本类中写了多个异常的方法,比如写了

    @ExceptionHandler(value={Exception.class})
        public ModelAndView ex2(Exception ex){
            ModelAndView mv=new ModelAndView();
            System.out.println(ex);
            mv.setViewName("error");
            mv.addObject("ex", ex);
            return mv;
            
        }
        
        @ExceptionHandler(value={ArithmeticException.class})
        public ModelAndView ex1(Exception ex){
            ModelAndView mv=new ModelAndView();
            System.out.println(ex);
            mv.setViewName("error");
            mv.addObject("ex", ex);
            return mv;        
        }

    这时如果出现了ArithmeticException异常,会执行最接近异常的异常方法,也就是会执行ex1的

    异常方法。

    三、全局异常处理

      如果想定义一个监视所有类的异常的方法

      再创建一个类,类的上方不再是@Controller注解,而是使用@ControllerAdvice进行注解,

      然后写一个异常的方法 ,用@ExceptionHandler进行注解。

      

    @ControllerAdvice
    public class Exception1 {
        @ExceptionHandler(value={ArithmeticException.class})
        public ModelAndView ex1(Exception ex){
            ModelAndView mv=new ModelAndView();
            mv.setViewName("error");
            mv.addObject("ex", ex);
            return mv;
            
            
        }
    
    }
  • 相关阅读:
    express配置流程(windows)
    web性能优化
    解决“向终端显示内容产生时间延迟”
    node.js全局配置
    BootStrap基本模板
    移动Web开发小结
    理解一下vue的mvvm模式
    前端面试题
    使用layui遇到的一些问题及解决方案
    Vue之使用ajax获取json数据,并用v-for循环显示在表格中
  • 原文地址:https://www.cnblogs.com/xuesheng/p/7426399.html
Copyright © 2011-2022 走看看