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关键字主要用在三个地方:变量、方法、类。
412412
413413### 异常处理总结
414414
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语句块将在方法返回之前被执行。
418418
419419**在以下4种特殊情况下,finally块不会被执行:**
420420
@@ -423,6 +423,18 @@ final关键字主要用在三个地方:变量、方法、类。
4234233. 程序所在的线程死亡。
4244244. 关闭CPU。
425425
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+
426438## 33 Java序列化中如果有些字段不想进行序列化 怎么办
427439
428440对于不想进行序列化的变量,使用transient 关键字修饰。
You can’t perform that action at this time.
0 commit comments