java异常处理

本文探讨了Java中异常处理的最佳实践,包括如何正确地使用try、catch和finally语句块,特别是当它们包含return语句时的行为。同时介绍了如何合理安排不同类型的异常捕获顺序以提高程序的健壮性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一).如果一个try块后有多个catch块来捕获不同的异常。而且两个异常存在继承关系,应该把子类异常放在你类异常的前面来捕获。

PS:Exception e一般要放到后面

(二).最好分开try{}catch{}!

因为只要try语句中发生异常,就回在catch块中找相匹配的捕捉,捕捉之后将不执行程序,也就是说如果有一个数组越界异常在前,又跟了一个0作为除数的异常,程序捕获了第一个后就不会捕捉第二个了

举例说明:

Java code//假如XxException 和YyException 都可以捕获ZzException

try {

1M.....//可能抛出XxException 和 ZzException

2N.....//

3P.....//可能抛出YyException 和 ZzException

}catch([color=#FF0000]XxException [/color]e1){

A.......

//执行A代码

}catch([color=#FF0000]YyException [/color]e2){

B.......

}

//如果1发生了ZzException 则不会执行2,3直接执行A代码


(三)关于try、catch、finally语句块中含有return语句的几点说明:

1、第一种情况:try块有return语句,catch块没有return,函数末尾也没有return:

在return语句之前如果出现异常的话,那么return语句根本没有机会得到执行,编译器会认为缺少return语句。所以应该在catch块中加入return语句或者在finally块中加入return语句,还可以在函数末尾加入return语句

2.第二种情况:如果try块中有return语句,那么先执行return语句,再执行finally语句,然后将结果返回,也可以说return语句执行了两次,一次在finally之前,一次在finally之后,但是返回的确是第一次执行的值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值