关于try-catch-finally-return的执行顺序的一些总结

1、return语句并不是函数的最终出口,如果有finally语句,在return之后还会执行finally,此时return的值会暂存在栈里面,等待finally执行后再返回

2、由于函数调用一般必须有return语句,如果单把return语句放在try里面的话,遇到异常就不会执行try里面的return语句,所以不会使得函数返回值,程序编译不会通过;如果单把return语句放在catch中的话,如果遇不到异常就不会执行catch中的return语句,所以就不会使得函数返回值,程序编译不会通过。可以单在finally中放一个return语句,但实际中并不会那样做。在try-catch-finally语句中放return语句,可行的做法如下:

(1)return语句只在函数最后出现一次

(2)return语句仅在try和catch里面都出现

(3)return语句仅在try和函数的最后都出现

(4)return语句仅在catch和函数的最后都出现

参考文章:http://qing0991.blog.51cto.com/1640542/1387200(详细)

你可能感兴趣的:(java)