2016-01-14 38 views

回答

2

在此功能中,現在您可以在單個catch塊中捕獲多個異常。在Java 7之前,你只能捕獲一個。要指定預期例外列表,使用管道('|')字符。

Lets understand using an example. 

try 
{ 
     //Do some processing which throws NullPointerException; I am sending directly 
     throw new NullPointerException(); 
} 

//You can catch multiple exception added after 'pipe' character 
catch(NullPointerException | IndexOutOfBoundsException ex) 
{ 
     throw ex; 
} 

記住:如果一個catch塊處理多個異常類型,那麼catch參數是隱式地最終的。在這個例子中,catch參數是最終的,因此你不能在catch塊中爲它分配任何值。

1

根據JLS

CatchClause: 
    catch ({VariableModifier} CatchType Identifier) Block 

所以,你可以寫任何東西,你可以在任何其他塊寫。