Java中的異常詳解
Java 異常處理的分類
Java 異常可分為可檢測異常,非檢測異常和自定義異常。
可檢測異常
可檢測異常經編譯器驗證,對于聲明拋出異常的任何方法,編譯器將強制執行處理或聲明規則,例如:sqlExecption 這個異常就是一個檢測異常。你連接 JDBC 時,不捕捉這個異常,編譯器就通不過,不允許編譯。
非檢測異常
非檢測異常不遵循處理或聲明規則。在產生此類異常時,不一定非要采取任何適當操作,編譯器不會檢查是否已解決了這樣一個異常。例如:一個數組為 3 個長度,當你使用下標為3時,就會產生數組下標越界異常。這個異常 JVM 不會進行檢測,要靠程序員來判斷。有兩個主要類定義非檢測異常:RuntimeException 和 Error。
Error 子類屬于非檢測異常,因為無法預知它們的產生時間。若 Java 應用程序內存不足,則隨時可能出現 OutOfMemoryError;起因一般不是應用程序的特殊調用,而是 JVM 自身的問題。另外,Error 一般表示應用程序無法解決的嚴重問題。
RuntimeException 類也屬于非檢測異常,因為普通 JVM 操作引發的運行時異常隨時可能發生,此類異常一般是由特定操作引發。但這些操作在 Java 應用程序中會頻繁出現。因此,它們不受編譯器檢查與處理或聲明規則的限制。
自定義異常
自定義異常是為了表示應用程序的一些錯誤類型,為代碼可能發生的一個或多個問題提供新含義。可以顯示代碼多個位置之間的錯誤的相似性,也可以區分代碼運行時可能出現的相似問題的一個或者多個錯誤,或給出應用程序中一組錯誤的特定含義。例如,對隊列進行操作時,有可能出現兩種情況:空隊列時試圖刪除一個元素;滿隊列時試圖添加一個元素。則需要自定義兩個異常來處理這兩種情況。
本文由用戶 pm45e 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!