首页 > 编程语言 > 详细

Spring 异常处理

时间:2021-03-10 15:07:58      阅读:21      评论:0      收藏:0      [点我收藏+]
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 全局异常处理器
 */
@ControllerAdvice
public class GlobalExceptionHandler {

    /**
     * 统一处理业务层抛出的异常
     * @param e
     * @return
     */
    @ExceptionHandler(ServiceException.class)
    @ResponseBody
    public JsonResult<Void> handleCustomException(Throwable e){
        JsonResult<Void> jr=new JsonResult<>();
        // 添加异常提示信息
        jr.setMsg(e.getMessage());
        // 添加异常状态
        if(e instanceof EmptyArgumentException){
            jr.setState(2001);
        }else if(e instanceof UserExistException){
            jr.setState(2002);
        }else if(e instanceof LoginException){
            jr.setState(2003);
        }else if(e instanceof ChangePasswordException){
            jr.setState(2004);
        }else if(e instanceof ChangeUserInfoException){
            jr.setState(2005);
        }else if(e instanceof AddressCountLimitException){
            jr.setState(2006);
        }else if(e instanceof RecordNotFoundException){
            jr.setState(2007);
        }else if(e instanceof InsertException){
            jr.setState(3000);
        }else if(e instanceof QueryException){
            jr.setState(4000);
        }else if(e instanceof UpdateException){
            jr.setState(5000);
        }else if(e instanceof UpdateException){
            jr.setState(7000);
        }else{
            jr.setState(2000);
        }

        return jr;
    }

    /**
     * 统一处理控制器层文件上传时抛出的异常
     * @param e
     * @return
     */
    @ExceptionHandler(FileUploadException.class)
    @ResponseBody
    public JsonResult<Void> handleFileUploadException(Throwable e){
        JsonResult<Void> jr=new JsonResult<>();
        // 添加异常提示信息
        jr.setMsg(e.getMessage());
        // 添加异常状态
        if(e instanceof FileEmptyException){
            jr.setState(6001);
        }else if(e instanceof FileIOException){
            jr.setState(6002);
        }else if(e instanceof FileSizeException){
            jr.setState(6003);
        }else if(e instanceof FileStateException){
            jr.setState(6004);
        }else if(e instanceof FileTypeException){
            jr.setState(6005);
        }else{
            jr.setState(6000);
        }
        return jr;
    }

}

Spring 异常处理三种方式 @ExceptionHandler

Spring 异常处理

原文:https://www.cnblogs.com/javaupup/p/14510216.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!