常见异常和处理方式

开发中如何避免runtime 异常

  • 如何在开发中避免bug,示例是java代码
空指针异常

java.lang.NullPointerException:空指针
产生的原因:使用对象(字段/方法)值为null
代码示例:
空指针代码实例1
避免空指针代码实例:
避免空指针代码
equals避免空指针:
equals空指针

数组下标越界

ArrayIndexOutOfBoundsException :数组下标越界
产生的原因:使用超出数组下标范围的下标
错误代码实例:
数组越界-1
逻辑处理:
数组越界-2

数学运算异常

java.lang.ArithmeticException 数学运算异常
产生的原因:计算过程中分母为零
错误代码实例:
数学运算异常-1
异常处理代码:
数学运算异常-2

数字格式异常

java.lang.NumberFormatException :数字格式异常
产生原因:使用Integer类型接收String或者把String转成Integer
错误代码实例:
数字格式转换-1
正确实例:
数字转换-2

异常处理思路:

不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类,如: IndexOutOfBoundsException / NullPointerException,这类异常由程序员预检查 来规避,保证程序健壮性

正例:
if(obj != null) {...}

反例:
try { obj.method() 
} catch(
NullPointerException e){
...}

对大段代码进行 try-catch,这是不负责任的表现。catch 时请分清稳定代码和非稳 定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的 catch 尽可能进行区分 异常类型,再做对应的异常处理。

有 try 块放到了事务代码中,catch 异常后,如果需要回滚事务,一定要注意手动回滚事务

finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值