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

  • 相关阅读:
    Java 获取当前时间最近12个月(字符串)
    Java 取本月第一天和最后一天
    find_in_set()和in()比较
    Latex 箭头、下标、符号上下写文字、正方形和三角形
    LaTeX 公式字体大小设置
    哈希学习(2)—— Hashing图像检索资源
    局部敏感哈希-Locality Sensitivity Hashing
    Mathtype 公式显示方框
    Linux下安装MATLAB
    局部敏感哈希(Locality-Sensitive Hashing, LSH)
  • 原文地址:https://www.cnblogs.com/qinxu/p/10196548.html
Copyright © 2011-2022 走看看