在 Java 中,所有的例外都有一個共同的祖先 Throwable(可拋出)。 Throwable 指定程式碼中可用異常傳播機制透過 Java 應用程式傳輸的任何問題的共通性。
Throwable: 有兩個重要的子類別:Exception(例外)和Error(錯誤),二者都是Java 例外處理的重要子類,各自都包含大量子類別。異常和錯誤的差別是:異常能被程式本身可以處理,錯誤是無法處理。 (建議學習:java課程)
Error(錯誤):是程式無法處理的錯誤,表示執行應用程式中較嚴重問題。大多數錯誤與程式碼編寫者執行的操作無關,而表示程式碼執行時期 JVM(Java 虛擬機)出現的問題。
例如,Java虛擬機器執行錯誤(Virtual MachineError),當 JVM 不再有繼續執行作業所需的記憶體資源時,就會出現 OutOfMemoryError。
這些例外發生時,Java虛擬機器(JVM)一般會選擇執行緒終止。這些錯誤表示故障發生於虛擬機器本身、或發生在虛擬機器試圖執行應用時,如Java虛擬機器執行錯誤(Virtual MachineError)、類別定義錯誤(NoClassDefFoundError)等。
這些錯誤是不可查的,因為它們在應用程式的控制和處理能力之 外,而且絕大多數是程式執行時不允許出現的狀況。對於設計合理的應用程式來說,即使確實發生了錯誤,本質上也不應該試圖去處理它所引起的異常狀況。在 Java中,錯誤透過Error的子類別來描述。
Exception(例外):是程式本身可以處理的例外。 Exception 類別有一個重要的子類別 RuntimeException。 RuntimeException 類別及其子類別表示「JVM 常用操作」引發的錯誤。
例如,若試圖使用空值物件參考、除數為零或陣列越界,則分別引發執行時期例外(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。
Exception(異常)分兩大類:運行時異常和非運行時異常(編譯異常)。程序中應盡可能去處理這些異常。
運行時異常:都是RuntimeException類別及其子類別異常,如NullPointerException(空指標異常)、IndexOutOfBoundsException(下標越界異常)等,這些異常是不檢查異常,程式中可以選擇捕獲處理,也可以不處理。
這些異常一般是由程式邏輯錯誤引起的,程式應該從邏輯角度盡可能避免這類異常的發生。執行時期異常的特徵是Java編譯器不會檢查它,也就是說,當程式中可能出現這類異常,即使沒有用try-catch語句捕獲它,也沒有用throws子句聲明拋出它,也會編譯通過。
非執行時期異常 (編譯異常):是RuntimeException以外的異常,類型上都屬於Exception類別及其子類別。
從程式語法角度講是必須進行處理的異常,如果不處理,程式就不能編譯通過。如IOException、SQLException等以及使用者自訂的Exception異常,一般情況下不自訂檢查異常。
以上是java中異常與錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能