在SpringMVC项目中,使用使用 HandlerExceptionResolver 实现全局异常处理器。当抛出异常后,使用相应的符合用户体验的友好界面显示异常。
一、创建自定义异常类
设置自定义异常类,名称为OperationException。
注意:
该自定义异常类继承的是RuntimeException类。
- 因为一般项目的Service层逻辑都会使用Spring提供的事务管理,当Service层需要抛出自定义异常时,如果该自定义异常继承的是Exception类,则Spring提供的事务管理将会失效。
- 所以这里的自定义异常类继承的是RuntimeException类,这样才不会使Spring提供的事务管理失效。
Spring管理的事务,无论是声明式事务还是注解式事务,默认是在抛出运行异常(RuntimeException异常)时,才会被Spring框架捕获到然后回滚。
package com.pjb.fms.exception; public class OperationException extends RuntimeException { private String errorMessage; //异常信息 public OperationException(String errorMessage) { super(errorMessage); this.errorMessage = errorMessage; } public String getErrorMessage(){ return errorMessage; } public void setErrorMessage(String errorMessage){ this.errorMessage = errorMessag