e.getMessage 为空NULL
发布日期:2022-03-29 14:05:02 浏览次数:31 分类:博客文章

本文共 692 字,大约阅读时间需要 2 分钟。

在日常代码中免不了要try catch

切忌用try catch 去try 整个方法。

在对象操作之前尽量写上if 空判断。

反例:

public void send(){

  try{

    代码1:获取对象

    代码2:操作代码1

    代码3:操作代码2

    代码4:操作代码3

  } catch(Exception e){

    log.error("异常信息:,{}",e.getMessage());

   // 这里会打一个null 误以为没有抓到错误信息。其实是你某一条代码中出现了空对象 。进行了对象操作。

  //如果在代码 2,3,4任何一个地方出现一个空对象并不进行空处理。就会出来这样的情况

  }

}

正例:

public Object send(){

    代码1:获取对象

    if(代码1 == null ){

      代码1 = new 代码1();

    }

    代码2:操作代码1

    代码3:操作代码2

    try{

    代码4:操作代码3

    retrun 代码4;

  } catch(Exception e){

    log.error("代码4异常:,{}",e.getMessage());

  }

  return null;

}

在try catch 的时候 。尽量的缩小范围。好定位问题。对象一定要做空判断 。

不要一上来就全部try .

这种排错。直接把try catch 去掉。直接让错误抛控制台。就知道是哪一行了。

再改成代码 再补上try catch 加上日志记录就行了。 

转载地址:https://www.cnblogs.com/1-Admin/p/9696917.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]
下一篇:java UCnter 单点登录 对接。

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月19日 14时17分00秒