亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 異常(Exceptions)

在本教程中,我們將學(xué)習(xí)Java中的異常。我們將介紹Java中的錯誤,異常和不同類型的異常。

 異常是程序執(zhí)行期間發(fā)生的意外事件。它影響程序指令流,從而導(dǎo)致程序異常終止。

 發(fā)生異常的原因有很多。其中包括:

  • 無效的用戶輸入

  • 設(shè)備故障

  • 網(wǎng)絡(luò)連接丟失

  • 物理限制(磁盤內(nèi)存不足)

  • 代碼錯誤

  • 打開一個不可用的文件

Java 異常層次結(jié)構(gòu)

這是Java中異常層次結(jié)構(gòu)的簡化圖。

Java中的異常層次結(jié)構(gòu)

從上圖可以看到,Throwable類是層次結(jié)構(gòu)中的根類。

請注意,層次結(jié)構(gòu)分為兩個分支:錯誤(Error)和異常(Exception)。

Error

Error表示不可恢復(fù)的情況,例如Java虛擬機(JVM)內(nèi)存不足,內(nèi)存泄漏,堆棧溢出錯誤,庫不兼容,無限遞歸等。

錯誤通常是程序員無法控制的,我們不應(yīng)該嘗試處理錯誤。

Exception

程序可以捕獲并處理異常。

當(dāng)方法內(nèi)發(fā)生異常時,它將創(chuàng)建一個對象。該對象稱為異常對象。

它包含有關(guān)異常的信息,例如異常的名稱和說明以及發(fā)生異常時的程序狀態(tài)。

在下一個教程中,我們將學(xué)習(xí)如何處理這些異常。在本教程中,我們現(xiàn)在將重點介紹Java中不同類型的異常。

Java異常類型

異常層次結(jié)構(gòu)還具有兩個分支:RuntimeException和IOException。

1. RuntimeException

一個運行時異常發(fā)生由于編程錯誤。它們也稱為非檢查異常

這些異常不在編譯時檢查,而是在運行時檢查。一些常見的運行時異常是:

  • API使用不當(dāng) - IllegalArgumentException

  • 空指針訪問(缺少變量的初始化)- NullPointerException

  • 越界數(shù)組訪問 - ArrayIndexOutOfBoundsException

  • 將數(shù)字除以0 - ArithmeticException

 你可以這樣想:“如果這是一個運行時異常,那就是你的錯”。

如果在使用變量之前檢查變量是否已初始化,則不會發(fā)生NullPointerException。
如果根據(jù)數(shù)組邊界測試數(shù)組索引,則不會發(fā)生ArrayIndexOutOfBoundsException。

2. IOException

IOException也稱為檢查異常。它們由編譯器在編譯時檢查,并提示程序員處理這些異常。

檢查異常的一些示例是:

  • 嘗試打開不存在的文件會導(dǎo)致 FileNotFoundException

  • 試圖讀取超過文件結(jié)尾的內(nèi)容

現(xiàn)在我們已經(jīng)了解了異常,我們將在下一教程中學(xué)習(xí)處理異常。