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;
            
            
        }
    
    }
  • 相关阅读:
    apache+mysql+php+phpmyadmin搭建
    Redis学习笔记(1)Redis安装和启动
    Zlib 引用中出现的问题
    约数
    AC自动机
    当我们说“一切皆对象”时,我们到底在说什么
    Google翻译,3个步骤灭绝人类
    Linux下Gcc生成和使用静态库和动态库详解(转)
    Java基础&笔试题
    SQL基础&笔试题
  • 原文地址:https://www.cnblogs.com/xuesheng/p/7426399.html
Copyright © 2011-2022 走看看