File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -412,9 +412,9 @@ final关键字主要用在三个地方:变量、方法、类。
412
412
413
413
### 异常处理总结
414
414
415
- - try 块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
416
- - catch 块:用于处理try捕获到的异常。
417
- - finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。
415
+ - ** try 块:** 用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
416
+ - ** catch 块:** 用于处理try捕获到的异常。
417
+ - ** finally 块:** 无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。
418
418
419
419
**在以下4种特殊情况下,finally块不会被执行:**
420
420
@@ -423,6 +423,18 @@ final关键字主要用在三个地方:变量、方法、类。
423
423
3. 程序所在的线程死亡。
424
424
4. 关闭CPU。
425
425
426
+ 下面这部分内容来自issue:<https://github.com/Snailclimb /JavaGuide /issues/190> 。
427
+
428
+ **关于返回值:**
429
+
430
+ 如果try语句里有return,返回的是try语句块中变量值。
431
+ 详细执行过程如下:
432
+
433
+ 1. 如果有返回值,就把返回值保存到局部变量中;
434
+ 2. 执行jsr指令跳到finally语句里执行;
435
+ 3. 执行完finally语句后,返回之前保存在局部变量表里的值。
436
+ 4. 如果try,finally语句里均有return,忽略try的return,而使用finally的return.
437
+
426
438
## 33 Java序列化中如果有些字段不想进行序列化 怎么办
427
439
428
440
对于不想进行序列化的变量,使用transient 关键字修饰。
You can’t perform that action at this time.
0 commit comments