您好,登錄后才能下訂單哦!
Java中異常有哪些類型?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
The Checked Exception(檢查異常)
已檢查異常是Java應用程序應該能夠處理的異常。例如,如果應用程序從文件中讀取數據,它應該能夠處理FileNotFoundException。畢竟,無法保證預期的文件會出現在它應該出現的位置。文件系統上可能發生任何事情,應用程序對此一無所知。
讓我們進一步看看這個例子。假設我們使用FileReader類來讀取字符文件。如果你看一看Java api中的FileReader構造函數定義,你會發現它的方法簽名:
public FileReader(String fileName) throws FileNotFoundException
如您所見,構造函數明確聲明FileReader構造函數可以拋出FileNotFoundException。這是有意義的,因為文件名字符串很可能會不時出錯。請看下面的代碼:
public static void main(String[] args){ FileReader fileInput = null; //打開輸入文件 fileInput = new FileReader("Untitled.txt"); }
從語法上來說,這些語句是正確的,但是這些代碼永遠不會編譯。編譯器知道FileReader構造函數可以拋出FileNotFoundException,而處理此異常則取決于調用代碼。有兩個選擇-首先,我們可以通過指定一個throw子句來傳遞異常:
public static void main(String[] args) throws FileNotFoundException{ FileReader fileInput = null; //打開輸入文件 fileInput = new FileReader("Untitled.txt"); }
或者我們可以處理例外情況:
public static void main(String[] args){ FileReader fileInput = null; try { //打開輸入文件 fileInput = new FileReader("Untitled.txt"); } catch(FileNotFoundException ex) { //告訴用戶去找文件 } }
編寫良好的Java應用程序應該能夠處理檢查過的異常。
Errors(錯誤)
第二種異常稱為錯誤。當異常發生時,JVM將創建一個異常對象。這些對象都派生自可拋出類。可拋出類有兩個主要子類——錯誤和異常。Error類表示應用程序不太可能處理的異常。
這些例外被認為是罕見的。例如,JVM可能會因為硬件無法處理它必須處理的所有進程而耗盡資源。應用程序可以捕獲錯誤并通知用戶,但通常應用程序必須關閉,直到底層問題得到處理。
Runtime Exceptions(運行時異常)
發生運行時異常僅僅是因為程序員犯了錯誤。你已經寫好了代碼,編譯器會覺得一切都很好當你運行代碼時,它會崩潰,因為它試圖訪問一個不存在的數組元素或者一個邏輯錯誤導致一個方法被調用為空值。或者程序員可能犯的任何數量的錯誤。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。