Java语言编程中try-catch-finally如何使用
程序员文章站
2022-03-25 14:57:55
try 块: 用于捕获异常。其后可接零个或多个 catch 块,如果没有 catch 块,则必须跟一个 finally 块。 catch块: 用于处理 try 捕获到的异常。 finally 块: 无论是否捕获或处理异常,finally 块里的语句都会被执行。当在 try块或 catch 块中遇到 return 语句时,finally 语句块将在方法返回之前被执行。在以下 4 种特殊情况下,finally 块不会被执行:在 finally 语句块第一行发生了异常。 因为在其他行,finally....
try 块: 用于捕获异常。其后可接零个或多个 catch 块,如果没有 catch 块,则必须跟一个 finally 块。
catch 块: 用于处理 try 捕获到的异常。
finally 块: 无论是否捕获或处理异常,finally 块里的语句都会被执行。当在 try块或 catch 块中遇到 return 语句时,finally 语句块将在方法返回之前被执行。
在以下 4 种特殊情况下,finally 块不会被执行:
在 finally 语句块第一行发生了异常。 因为在其他行,finally 块还是会得到执行 在前面的代码中用了
System.exit(int)已退出程序。 exit 是带参函数 ;若该语句在异常语句之后,finally 会执行
程序所在的线程死亡。
关闭 CPU。
注意: 当 try 语句和 finally 语句中都有 return 语句时,在方法返回之前,finally 语句的内容将被执行,并且 finally 语句的返回值将会覆盖原始的返回值。如下:
public class Test {
public static int f(int value) {
try {
return value * value;
} finally {
if (value == 2) {
return 0;
}
}
}
}
如果调用 f(2),返回值将是 0,因为 finally 语句的返回值覆盖了 try 语句块的返回值。
本文地址:https://blog.csdn.net/qq_41356873/article/details/108861890
下一篇: 怕死才吸烟
推荐阅读
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
举例说明Java多线程编程中读写锁的使用
-
C语言编程笔记丨如何在指针中隐藏数据?
-
Python编程-python与其它语言的互相调用(一):如何在shell中调用python代码
-
Java多线程编程中并发如何使用锁
-
java多线程中的join 方法、yield方法如何使用
-
深入剖析Go语言编程中switch语句的使用
-
深入解析Go语言编程中的递归使用
-
Java并发编程中CountDownLatch和CyclicBarrier的使用
-
Java编程中异常处理 try-catch-finally语句的一些分析