try-catch-finally中的return与finally浅析
来源:互联网 发布:java占用cpu过高 编辑:程序博客网 时间:2024/05/21 09:38
一、finally中的语句一定执行吗?
finally语句一般来说是一定会执行的,但是也有特殊情况,当遇到一下两种情况,finally中的语句就不会执行。
- 在try语句之前就返回,没有执行try-catch-finally语句,这种情况自然不会执行finally中的语句。
- 在try语句中有Sysem.exit(0);,此语句的作用是关闭java虚拟机JVM.
二、return与finally语句的执行顺序
- try中的return语句在finally之前执行,在finally之后返回值。
public class Demo01 {public static void main(String[] args) {System.out.println(test()) ;}public static String test() {int num = 10 ;try {System.out.println("running try") ;return test2() ;} catch (Exception e) {System.out.println("running catch") ;} finally {System.out.println("running finally") ;}return "end" ;}private static String test2() {System.out.println("running test2()") ;return "return test2()" ;}}运行结果:
2.finally中的return语句会覆盖try中的return语句返回。
public class Demo01 {public static void main(String[] args) {System.out.println(test()) ;}public static int test() {int num = 10 ;try {num += 50 ;return num ;} catch (Exception e) {System.out.println("running catch") ;} finally {System.out.println("running finally") ;return 100 ;}}}
运行结果:
0 0
- try-catch-finally中的return与finally浅析
- try...catch...finally中的return
- try...catch...finally中的return
- try catch finally与return
- try catch finally return?
- try catch finally return
- try catch finally return
- try中的return与finally
- try catch finally中的return 问题
- java try catch finally中的return问题
- 关于try catch finally 中的return问题
- return在try-catch-finally中的执行
- Java中try-catch-finally中的return
- 关于try-catch-finally中的return
- try...catch...finally中的return执行顺序
- try&catch&finally浅析
- try catch finally 与 return 的问题
- try catch finally 和return
- cs231n——assignment1: Q1: k-Nearest Neighbor classifier(手动复制版)
- Handler实现机制图解
- 【数据结构】-时间复杂度和空间复杂度
- Linux学习日记
- poj3685(二分查找第k小)
- try-catch-finally中的return与finally浅析
- 正则表达式 %r{}操作符和.*? 表达式的区别
- 2016.11.13
- 关于JAVA的传递方式只能是“值传递”
- CLR via C# Reading Notes(2)
- 点云库PCL学习笔记1
- [gdc15]<暗黑破坏神3:夺魂之镰>的开发之路
- Linux下的C语言编程——sqlite3的基本操作
- JVM时间显示问题