日常程序员容易犯的错误

本文探讨了Java编程中最常见的空指针异常(NPE),分析了其产生的原因,如紧急情况下的忽视判断和编程习惯,以及如何通过异常处理、RPC接口防护和变量范围控制来避免或减轻其影响,同时强调了内存管理的重要性。
摘要由CSDN通过智能技术生成

一 最最最常见的使程序异常的错误

1、空指针异常NPE

说实话这个东西真的很难避免,但又非常的简单。有的时候写着写着从某一个对象中获取某个属性时,我们就会直接get调用,并不会考虑他可能会为空的情况。

原因:

  • 与项目的紧急情况有关系,代码写的多了就很容易忽略各种判断。
  • 跟编程思想有关系,我觉得NPE的判断应该要刻在每一个Java程序员的思想中,往往一个细节上的失误,可能会造成极大的影响。
  • 熟练程度:确实在经验较少的人身上更容易出现。

出现NPE可能的方式:可以在这几个方面多注意一下

  • 我觉得是最常出现问题的地方:在引用外部RPC接口时是最容易出现的,我们很容易忽略掉外部RPC接口返回的对象可能为空的情况,一般我们可以通过防腐层代码来解决这个问题。也很好理解,就是在RPC接口外部在包装一层try catch
RPC rpcResponse = new RPC()
try {
    //RPC接口调用
    rpcResponse = RPC接口调用返回参数;
} catch (Exception e) {
   log.error("出现异常打印",e);
}
return rpcResponse;
  • 调用其他人写的方法时容易出现,如果这个function可能返回空,但是有没有进行判断的话会出现这样的问题。
  • 某些对象中的某些字段可能为空:空字段参与了计算。
  • 字段的类型转换:String转各种数字类型,这种一般都是业务异常数据导致的。可以从产品层面或者技术层面进行避免与限制。
    • 产品层面:产品需要把控业务上是否会存在数据类型异常的情况。如:String类型的字段是否非数字的其他场景。
    • 技术层面:限制字段的类型,如果非此类型就前端提示或者报异常、打印日志等。

二 变量的定义

时刻注意变量定义的范围,能使用临时变量的就不用方法变量;能使用方法变量的就不使用全局变量。这样有助于对象的回收,减少内存泄露和内存溢出的风险。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值