Java中異常分為Checked Exception和Unchecked Exception,區(qū)別在于編譯器是否強(qiáng)制處理;2. 所有異常繼承自Throwable,Exception的子類(lèi)非RuntimeException的為Checked Exception,RuntimeException及其子類(lèi)、Error及其子類(lèi)為Unchecked Exception;3. Checked Exception必須try-catch或throws聲明,否則編譯失敗,而Unchecked Exception無(wú)此要求;4. 常見(jiàn)Checked Exception有IOException、SQLException等,常見(jiàn)Unchecked Exception有NullPointerException、IllegalArgumentException及OutOfMemoryError等;5. 實(shí)際開(kāi)發(fā)中Checked用于可恢復(fù)的外部問(wèn)題,Unchecked多用于程序邏輯錯(cuò)誤。
在Java中,異常分為兩大類(lèi):Checked Exception(已檢查異常)和 Unchecked Exception(未檢查異常)。它們的核心區(qū)別在于編譯器是否強(qiáng)制要求處理或聲明。理解這種區(qū)分對(duì)編寫(xiě)健壯的代碼非常重要。
Java中的所有異常都繼承自 Throwable 類(lèi)。其兩個(gè)主要子類(lèi)是 Exception 和 Error。
關(guān)鍵點(diǎn):簡(jiǎn)單來(lái)說(shuō):
編譯器會(huì)對(duì) Checked Exception 進(jìn)行強(qiáng)制檢查。
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
而 Unchecked Exception 不受此限制,可以不捕獲也不聲明,編譯照樣通過(guò)。
示例:
// IOException 是 Checked Exception FileInputStream fis = new FileInputStream("file.txt"); // 必須 try-catch 或 throws <p>// IllegalArgumentException 是 Unchecked Exception throw new IllegalArgumentException("參數(shù)錯(cuò)誤"); // 可以不處理</p>
了解常見(jiàn)異常屬于哪一類(lèi)有助于快速判斷。
基本上就這些。記?。嚎蠢^承鏈,再看編譯器是否強(qiáng)制處理,就能清楚區(qū)分。實(shí)際開(kāi)發(fā)中,Checked 異常適合用于可恢復(fù)的、外部因素導(dǎo)致的問(wèn)題;Unchecked 異常多用于程序邏輯錯(cuò)誤。
以上就是如何在Java中區(qū)分CheckedException和UncheckedException的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)