try catch finally语句总结

1  try、catch、finally语句中,如果只有try语句有return返回值,此后在catch、finally中对变量做任何的修改,都不影响try中return的返回值。

2、try、catch中有返回值,而try中抛出的异常恰好与catch中的异常匹配,则返回catch中的return值。

3  如果finally块中有return 语句,则返回try或catch中的返回语句忽略。

4  如果finally块中抛出异常,则整个try、catch、finally块中抛出异常.并且没有返回值。

 

所以在使用try、catch、finally语句块时需要注意以下几点:

1 尽量在try或者catch中使用return语句。通过finally块中达到对try或者catch返回值修改是不可行的。

2 finally块中避免使用return语句,因为finally块中如果使用return语句,会显示的忽略掉try、catch块中的异常信息,屏蔽了错误的发生。

3 finally块中避免再次抛出异常,否则整个包含try语句块的方法回抛出异常,并且会忽略掉try、catch块中的异常。
--------------------- 
版权声明:本文为CSDN博主「mxd446814583」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mxd446814583/article/details/80355572

在 Java 中,try-catch-finally 语句用于捕获和处理异常。它的基本语法如下: ```java try { // 可能会抛出异常的代码块 } catch (ExceptionType1 e1) { // 处理异常类型1的代码块 } catch (ExceptionType2 e2) { // 处理异常类型2的代码块 } finally { // 无论是否发生异常,都会执行的代码块 } ``` 在 try 块中,你可以放置可能会抛出异常的代码。如果在执行 try 块中的代码时发生了异常,那么就会跳到相应的 catch 块中进行异常处理。catch 块可以有多个,每个 catch 块用于捕获不同类型的异常,并提供相应的处理逻辑。catch 块中的参数 e1、e2 是异常对象,你可以使用它们来获取有关异常的信息。 无论是否发生异常,finally 块中的代码都会被执行。finally 块通常用于释放资源或执行清理操作,确保在任何情况下都会执行。 如果在 try 块中发生了异常,并且没有相应的 catch 块来处理该异常,那么该异常将被传递给上层调用栈,直到找到合适的 catch 块进行处理,或者如果没有找到任何 catch 块,则程序将终止。 以下是一个简单的示例: ```java try { int result = divide(10, 0); System.out.println("结果:" + result); } catch (ArithmeticException e) { System.out.println("除数不能为零!"); } finally { System.out.println("finally 块中的代码"); } public static int divide(int dividend, int divisor) { return dividend / divisor; } ``` 在上面的示例中,divide 方法会抛出一个 ArithmeticException 异常,因为除数为零。在 catch 块中,我们对该异常进行处理,并输出相应的信息。无论是否发生异常,finally 块中的代码都会执行,输出 "finally 块中的代码"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值