Java程序失敗-->生成異常對象封裝錯誤條件-->拋與運行代碼 多線程程序中,線程生成未處理的異常,可能終止,但其它線程不受影響
錯誤Throwable: ==>致命Error-->也稱硬錯誤,典型:OutOfMemeryError-->一般由Java API或JVM自己拋出 ==>非致命Exception-->也稱Bug,典型:NullPointerException
帶資源的try語句: try (InputStream is = new FileInputStream(source)) {...} 該資源無需finally語句清理,它會自動被關閉
try {...} catch (..) {...} finally {...} 不管try,catch中怎樣(即使帶有return且被執行),finally都將被執行
重寫方法中聲明異常規則: >> 重寫方法必須拋出與被重寫方法拋出的異常類型相同的異常 >> 重寫方法能夠拋出被重寫方法拋出的異常的子異常 >> 重寫方法不能拋出被重寫方法聲明的異常的父異常 >> 在重寫方法拋出多個異常的狀況下,重寫方法必須拋出被重寫方法拋出的異常的子集 >> 重寫方法未拋異常,則被重寫方法也不能,反之亦然