zoukankan      html  css  js  c++  java
  • spring boot 拦截异常 统一处理

    spring boot 默认情况下会映射到 /error 进行异常处理,提示不友好,需要自定义异常处理,提供友好展示

    1.自定义异常类(spring 对于 RuntimeException 异常才会进行事务回滚):

     1 package com.zpark.tools.exception;
     3 /**
     4  * @author cosmo
     5  * @Title: CommonException
     6  * @ProjectName  
     7  * @Description:  
     8  * @date  
     9  */
    10 public class CommonException extends RuntimeException{
    11 
    12     private String rerutnCode;
    13 
    14     private String errorMsg;
    15 
    16     public CommonException(String returnCode ,String errorMsg){
    17         this.returnCode = returnCode;
    18         this.errorMsg = errorMsg;
    19     }
    20 
    21     public String getReturnCode() {
    22         return returnCode;
    23     }
    24 
    25     public void setReturnCode(String returnCode) {
    26         this.returnCode = returnCode;
    27     }
    28 
    29     public String getErrorMsg() {
    30         return errorMsg;
    31     }
    32 
    33     public void setErrorMsg(String errorMsg) {
    34         this.errorMsg = errorMsg;
    35     }
    36 }

    2.定义全局异常类:

     1 package com.zpark.tools.exception;
     2 
     3 import com.zpark.tools.Constants;
     4 import org.slf4j.Logger;
     5 import org.slf4j.LoggerFactory;
     6 import org.springframework.web.bind.annotation.ControllerAdvice;
     7 import org.springframework.web.bind.annotation.ExceptionHandler;
     8 import org.springframework.web.bind.annotation.ResponseBody;
    10 import javax.servlet.http.HttpServletRequest;
    11 import java.util.HashMap;
    12 import java.util.Map;
    13 
    14 /**
    15  * @author cosmo
    16  * @Title: CommonExceptionHandler
    17  * @ProjectName  
    18  * @Description:  
    19  * @date  
    20  */
    21 @ControllerAdvice
    22 public class CommonExceptionAdvice {
    23 
    24     private Logger log = LoggerFactory.getLogger(CommonExceptionAdvice.class);
    25     /**
    26      * 全局异常捕捉处理
    27      * @param ex
    28      * @return
    29      */
    30     @ResponseBody
    31     @ExceptionHandler(value = Exception.class)
    32     public Map errorHandler(HttpServletRequest request,Exception ex) {34         Map map = new HashMap();
    35         map.put("retrnCode", 100);
    36         map.put("errorMsg", ex.getMessage());51         return map;
    52     }67 }

    运行中出现异常,会返回报错信息和错误code

  • 相关阅读:
    使用正则匹配数字
    钻石和玻璃球游戏(钻石位置不固定)
    简单绘图
    未解决问题02
    Sqlite3 实现学生信息增删改查
    【Python】科赫雪花绘制
    【Python爬虫】抖音去水印
    【MATLAB】数学计算软件 MathWorks MATLAB R2020a 中文破解版
    【C语言】用指针作为形参完成数据的升序排列
    【C语言】数组名作函数参数完成数据的升序排列
  • 原文地址:https://www.cnblogs.com/qinxu/p/10196548.html
Copyright © 2011-2022 走看看