在 Java 中,異常也是物件,必須使用 new 關鍵字在堆疊上創建,並調用建構子。所有標準異常類別都提供兩種建構子:
throw new NullPointerException("t = null");。稍後可透過各種方法提取該字串信息,輔助除錯。
throw 執行時會發生一系列動作:
new 表達式,創建異常物件(不在常規執行路徑上)。可將異常視為一種特殊的返回機制:它不僅返回值,還會結束當前作用域,並沿著呼叫堆疊向上尋找合適的異常處理器。這與普通返回的相似性到此結束,因為異常處理器可能遠在呼叫鏈的上層。
Java 允許拋出任何型別的「可拋出」物件(即 Throwable 子類)。通常針對不同錯誤類型拋出不同異常類別,利用異常物件本身及其型別攜帶錯誤信息,讓上層處理器知道如何應對。