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

  • 相关阅读:
    linux Linux下USB无线网卡WL167G、TLWN321G驱动安装过程详解
    linux CW_EPPC_8.8在linux下的安装和卸载
    linux Linux diff与patch的深入分析
    linux 嵌入式2.6.37wifivnt6656移植驱动
    linux 华为ET128 &中兴ZTE MU351移动TDSCDMA G3上网卡 .
    linux CW8.8 编译 提示缺少libstdc++.so.5的error
    linux codewarrior 8.8 for powerpc 在win7经常崩溃的解决方法
    linux ubuntu 安装smb共享文件夹
    [zt]c++builder调用VC的dll以及VC调用c++builder的dll
    电子认证服务管理办法
  • 原文地址:https://www.cnblogs.com/qinxu/p/10196548.html
Copyright © 2011-2022 走看看