2015-03-13 121 views
-2

我正在嘗試異常處理。下面的代碼我無法理解。 請解釋一下這是如何工作的內部在try塊java中返回語句。什麼會被方法返回,爲什麼?

public int method() 
{ 
    try 
    { 
     return 1; 
    } 
    catch(Exception e) 
    { 
     return 2; 
    } 
    finally 
    { 
     return 3; 
    } 
} 

請給我解釋一下這是如何工作在java中

+2

我投票結束這個問題作爲題外話,因爲閱讀教程並且非常精確地指出什麼是不明確的。 http://docs.oracle.com/javase/tutorial/essential/exceptions/ – 2015-03-13 12:40:46

+0

Jeroen:我認爲他的問題是,它應該返回1,但理論上最終總是運行。 Raj:在這種情況下,該方法將以return語句結束。 – Stultuske 2015-03-13 12:43:35

+0

我想這不是一個重複的問題,因爲我想知道這個內部工作。請通過此代碼 嘗試 { \t return 1; } catch(Exception e) { \t return 2; } finally { \t System.out.println(「hello」); } 以上代碼爲什麼值1返回 – 2015-03-13 13:50:23

回答

1

的方法將總是返回3.由於即使return語句是在有try塊中的控制將被傳遞並且它將返回3,並且來自try塊的返回值將丟失