自定义全局异常步骤(只适应于前后端不分离,前后端分离的话会得到一个html页面,但是不展示)

1.src/main/java下创建异常包,新增需要的异常类,继承Exception

2.添加空参和单参的构造方法就可以(给出提示信息就好了)

 3.创建全局异常处理类,该类使用@ControllerAdvice注解,该类里面是遇到自定义异常后的处理方法,方法使用@EcceptionHandler注解,示例如下

package com.zhao.exception;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(NeedNotEnoughException.class)
    public ModelAndView needNotEnoughExceptionHandler(NeedNotEnoughException e ){
        String message = e.getMessage();
        ModelAndView mv = new ModelAndView();
        mv.addObject("emessage",message);
        mv.setViewName("500");//500是自定义的异常页面,在springmvc配置文件中定义 前后缀
        return mv;
    }
}

4.在springmvc配置文件中进行包扫描,(需要为全局异常类创建对象,才能使用)

<context:component-scan base-package="com.zhao.controller"/>
    <context:component-scan base-package="com.zhao.exception"/>

5.在需要抛出异常的地方抛出异常(数据库增删改事务中出现异常才会回滚,所以要抛出异常) 

 6,运行

猜你喜欢

转载自blog.csdn.net/love_yr/article/details/121394982