從 JDK 7 開始,異常處理已擴展為三個新功能:自動資源管理、多重捕獲和更準確的重新拋出。
多重catch可讓您使用同一個catch子句捕獲多個異常,避免程式碼重複。
要使用多重捕獲,請指定由 | 分隔的異常清單。在 catch 子句中。每個參數都是隱式最終參數。
使用範例:catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) 使用相同的 catch 子句擷取兩個例外。
程式在嘗試除以零時產生 ArithmeticException,在存取陣列邊界以外的索引時產生 ArrayIndexOutOfBoundsException。兩個異常都由同一個 catch 子句捕捉。
更準確的重新拋出功能將可以重新拋出的異常類型限制為:
1 由 try 區塊拋出的已檢查異常。
2 個之前的 catch 子句未處理的異常。
3 參數子類型或超類型的異常。
catch 區塊中的參數必須是最終的才能使用最終重新拋出,這意味著不能在 catch 區塊內為其賦予新值。這可以明確說明,但不是必需的。
以上是三個新加入的例外功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!