1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update Java基础知识->异常处理

This commit is contained in:
Snailclimb 2019-03-05 15:43:15 +08:00
parent 9f1fcc236a
commit ddbb405b87

View File

@ -412,9 +412,9 @@ final关键字主要用在三个地方变量、方法、类。
### 异常处理总结 ### 异常处理总结
- try 块用于捕获异常。其后可接零个或多个catch块如果没有catch块则必须跟一个finally块。 - **try 块:**用于捕获异常。其后可接零个或多个catch块如果没有catch块则必须跟一个finally块。
- catch 块用于处理try捕获到的异常。 - **catch 块:**用于处理try捕获到的异常。
- finally 块无论是否捕获或处理异常finally块里的语句都会被执行。当在try块或catch块中遇到return语句时finally语句块将在方法返回之前被执行。 - **finally 块:**无论是否捕获或处理异常finally块里的语句都会被执行。当在try块或catch块中遇到return语句时finally语句块将在方法返回之前被执行。
**在以下4种特殊情况下finally块不会被执行** **在以下4种特殊情况下finally块不会被执行**
@ -423,6 +423,18 @@ final关键字主要用在三个地方变量、方法、类。
3. 程序所在的线程死亡。 3. 程序所在的线程死亡。
4. 关闭CPU。 4. 关闭CPU。
下面这部分内容来自issue:<https://github.com/Snailclimb/JavaGuide/issues/190>
**关于返回值:**
如果try语句里有return返回的是try语句块中变量值。
详细执行过程如下:
1. 如果有返回值,就把返回值保存到局部变量中;
2. 执行jsr指令跳到finally语句里执行
3. 执行完finally语句后返回之前保存在局部变量表里的值。
4. 如果tryfinally语句里均有return忽略try的return而使用finally的return.
## 33 Java序列化中如果有些字段不想进行序列化 怎么办 ## 33 Java序列化中如果有些字段不想进行序列化 怎么办
对于不想进行序列化的变量使用transient关键字修饰。 对于不想进行序列化的变量使用transient关键字修饰。