java return

1 package reviewTest;
2
3 /**
4 * @ClassName: ReturnTest
5 * @Description: 測試return在trycatch中的執行
6 * @author Kingram
7 * @date 2018年7月27日
8 *
9 */
10 public class ReturnTest {
11
12 public static void main(String[] args) {
13 System.out.println(new ReturnTest().test());
14 }
15
16 private int test() {
17 int x = 1;
18 try {
19 int[] arr = new int[2];
20 x = arr[5];
21 return x;
22 } catch (Exception e) {
23 x = 10;
24 return x;
25 } finally {
26 ++x;
27 return x;
28 }
29 }
30
31 }
複製代碼
程序執行分析:

  當程序執行到第20行時會產生數組下標越界異常,這時直接跳到catch語句塊,此時x==10,並沒有return。

  最終執行finally語句塊此時x==11,並返回x,最終輸出結果爲11。

生活中也許做的事情暫時看不到成果,但是不要害怕,你不是沒有成長,而是在紮根,別擔心,你所有的付出,都有意義,人生沒有白吃的苦,你吃過的苦都是爲將來的幸福打下基礎,人生沒有白走的路,每一步都算數。

由此可見,當catch 模塊遇到return 的時候,在return 之前執行 finally模塊語句,然後再執行return

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章