随笔:---1. Exception getMessage 返回null

从今天,开始记录开发设计过程中遇到的问题。

今天开发过程中遇到,在处理异常中 遇到 Exception getMessage 返回null的问题,以前也遇到过,没有深究,通过查阅资料,发现Exception类并不是所有的异常都能抛出。如下图所示

        }catch(Exception ex){
            
            System.out.println("main thread error == " + ex.getMessage());  

获取的getmessage = null.

  Exception的父类Throwable中,有getMessage方法,该方法其实返回的就是detailMessage,此处调试时,detailMessage为null,那通过getMessage方法当然就取到的值 自然也为null。

  /**
     * Returns the detail message string of this throwable.
     *
     * @return  the detail message string of this {@code Throwable} instance
     *          (which may be {@code null}).
     */
    public String getMessage() {
        return detailMessage;
    }

改进方法是,通过获取原始的throwable事件来捕获异常,既通过接口 ex.getCause().getMessage()获取异常消息

或者直接 利用Logger类  logger.error("msg", ex);直接log异常事件,如下图所示。

        }catch(Exception ex){
            
            System.out.println("main thread error == " + ex.getCause().getMessage());     
           if(LOGConfig.getInstance().isbLog_Debug())
               logger.error("msg", ex);
              ex.printStackTrace();
        }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值