1. 程式人生 > >try-catch-finally 規則( 異常處理語句的語法規則 )

try-catch-finally 規則( 異常處理語句的語法規則 )

try-catch-finally 規則( 異常處理語句的語法規則 

1)  必須在 try 之後新增 catch 或 finally 塊。try 塊後可同時接 catch 和 finally 塊,但至少有一個塊。

2) 必須遵循塊順序:若程式碼同時使用 catch 和 finally 塊,則必須將 catch 塊放在 try 塊之後。
3) catch 塊與相應的異常類的型別相關。
4) 一個 try 塊可能有多個 catch 塊。若如此,則執行第一個匹配塊。即Java虛擬機器會把實際丟擲的異常物件依次和各個catch程式碼塊宣告的異常型別匹配,如果異常物件為某個異常型別或 其子類的例項,就執行這個catch程式碼塊,不會再執行其他的 catch程式碼塊 

5) 可巢狀 try-catch-finally 結構。
6) 在 try-catch-finally 結構中,可重新丟擲異常。

7) 除了下列情況,總將執行 finally 做為結束:JVM 過早終止(呼叫 System.exit(int));在 finally 塊中丟擲一個未處理的異常;計算機斷電、失火、或遭遇病毒攻擊

由此可以看出,catch只會匹配一個,因為只要匹配了一個,虛擬機器就會使整個語句退出