Java知识整理——异常处理
生活随笔
收集整理的這篇文章主要介紹了
Java知识整理——异常处理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java有兩種類型的異常:checked與unchecked(檢查與未檢查) 異常. 如果unchecked異常可能會(huì)在方法或構(gòu)造函數(shù)的執(zhí)行時(shí)被拋出從而蔓延到方法或構(gòu)造函數(shù)的外部, 它們也不需要要在方法或構(gòu)造函數(shù)中聲明throws子句. 然而, checked異常必須通過方法或構(gòu)造函數(shù)的throws子句聲明. 關(guān)于java異常處理的建議請(qǐng)參考這里Java exception handling.
Exception和Error都是Throwable類的子類. Exception用于用戶程序需要捕獲的異常條件. Error定義了用戶程序不可預(yù)見的異常
關(guān)鍵字throw用于在程序中顯式地拋出一個(gè)異常. 相反, throws子句用于指出在該方法中沒有處理的異常. 每個(gè)方法必須顯式指明哪些異常沒有處理, 以便該方法的調(diào)用者可以預(yù)防可能發(fā)生的異常. 最后, 多個(gè)異常用逗號(hào)分隔.
不管程序是否發(fā)生了異常, finally語句塊都會(huì)被執(zhí)行. 甚至當(dāng)沒有catch聲明但拋出了一個(gè)異常時(shí), finally語句塊也會(huì)被執(zhí)行. 最后要說一點(diǎn): finally語句塊通常用于釋放資源, 如I/O緩沖區(qū), 數(shù)據(jù)庫連接等等.
異常對(duì)象會(huì)在下次gc執(zhí)行時(shí)被回收.
不管是否拋出異常finally語句塊都會(huì)被執(zhí)行, 它通常用于釋放程序持有的資源. finalize是Object類中的一個(gè)protected方法, 當(dāng)一個(gè)對(duì)象被gc回收前它會(huì)被jvm調(diào)用.
總結(jié)
以上是生活随笔為你收集整理的Java知识整理——异常处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java知识整理——ServletJSP
- 下一篇: Java知识整理——JDBC