2012年10月9日 星期二

Java SE 7 - Exception - Multi-Catch 多重捕捉

        如果程式中有使用Checked Exception(受檢例外),則必須使用Try…Catch..進行包圍或者Throws該Exception,若想要特別判斷Unchecked Exception(非受檢例外)時也會進行這樣的動作如下:


try{
   do someting...
} catch (FileNotFoundException e){
   e.printStackTrace();
} catch (EOFException e){
   e.printStackTrace();
} catch (IOException e){
   e.printStackTrace();
} catch (Exception e){
   e.printStackTrace();
}


但是這些Exception都是處理同樣的事,SE 7可以將進行Multi-Catch如下:


try{
   do someting...
} catch (FileNotFoundException | EOFException | IOException | Exception e){
   e.printStackTrace();
}

通常在Catch Exception時,會將最上層的Exception放到最下面最後Catch,避免所有問題都在Exception就被Catch,Multi-Catch也是有同樣的情況,只是這時在右邊而非下面,如果為以下寫法語法會錯:


try{
   do someting...
} catch (Exception | IOException | FileNotFoundException | EOFException e){
   e.printStackTrace();
}

轉貼請註明出處,最好直接使用聯結轉貼!Thanks~
作者: Samuel
日期:2012/10/06

沒有留言:

張貼留言