• SpringBoot统一异常处理以及获取ThrowableException中的detailMessage属性;


    一、新建一个统一异常处理类;如下 


    @ControllerAdvice
    public class ExceptionHandlerConfig {

    /**
    * 全局异常捕捉处理
    * @param ex
    * @return
    */
    @ResponseBody
    @ExceptionHandler(Exception.class)
    public Map errorHandler(Exception ex) {
    Map map = new HashMap();
    map.put("code", 100);
    map.put("msg",ex.getMessage());
    return map;
    }

    }
         @ControllerAdvice是一个@Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。

    @ResponseBody 返回json数据
    @ExceptionHandler(Exception.class) springboot统一异常处理注解;
     二、如果是自定义异常的话,查看debug信息,发现自己输出的异常信息在ThrowableException中的detailMessage属性,

     

    使用 

    ex.getCause().getMessage() 方法可以获取该属性;
    完整代码;


    @ControllerAdvice
    public class ExceptionHandlerConfig {

    /**
    * 全局异常捕捉处理
    * @param ex
    * @return
    */
    @ResponseBody
    @ExceptionHandler(Exception.class)
    public Map errorHandler(Exception ex) {
    Map map = new HashMap();
    map.put("code", 100);
    if(ex.getCause().getMessage().equals("AuthorityFail")){
    map.put("msg","你没有权限,请联系管理员");
    }else {
    map.put("msg",ex.getMessage());
    }
    return map;
    }

    }
     
    ————————————————
    版权声明:本文为CSDN博主「蘇夏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_31807569/article/details/88672156

  • 相关阅读:
    统计 (Standard IO)
    存储过程中的错误处理
    簡單SQL存儲過程實例
    SQLSERVER存储过程基本语法
    SQL Server游标的使用【转】
    实现业务系统中的用户权限管理--实现篇
    实现业务系统中的用户权限管理--设计篇
    C#.net 微信公众账号接口开发
    jquery select radio
    asp.net Repeater使用例子,包括分页
  • 原文地址:https://www.cnblogs.com/telwanggs/p/14715005.html
Copyright © 2020-2023  润新知