Error和Exception(异常)
生活随笔
收集整理的這篇文章主要介紹了
Error和Exception(异常)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Error和Exception(異常)
- 掌握以下三種類型的異常:
- 檢查性異常:最具代表的檢查性異常是用戶錯誤或問題引起的異常,這是程序員無法預見的。例如打開一個不存在文件時,一個異常就發(fā)生了,這些異常在編譯時不能被簡單地忽略。
- 運行時異常:運行異常是可能被程序員避免異常。與檢查性異常相反,運行時異常可以在編譯時被忽略。
- 錯誤ERROR:錯誤不是異常,而是脫離了程序員控制的問題。錯誤在代碼中通常被忽略。例如,當棧溢出時,一個錯誤就發(fā)生了,它們在編譯也檢查不到。
異常體系結(jié)構(gòu)
Error
- Error類對象由java虛擬機生成并拋出,大多數(shù)錯誤與代碼編寫者所執(zhí)行的操作無關(guān)。
- java虛擬機運行錯誤(Virtual MachineError),當JVM不再有繼續(xù)執(zhí)行操作所需的內(nèi)存資源時,將出現(xiàn)OutOfMemoryError。這些異常發(fā)生時,java虛擬機(JVM)一般會選擇線程終止。
- 還有發(fā)生在虛擬機試圖執(zhí)行應用時,如類定義錯誤(NoClassDefFoundError)、鏈接錯誤(LinkageError)。這些錯誤是不可查的,因為?在應用程序的控制和處理能力之外,而且絕大多數(shù)是程序運行時不允許出現(xiàn)的狀況。
Exception
- 在Exception分支中有一個重要的子類RuntimeException(運行時異常)
- ArraylndexOutOfBoundsException(數(shù)組下標越界)
- NullPointerException(空指針異常)
- ArithmeticException(算術(shù)異常)
- MissingResourceException(丟失資源)
- ClassNotFoundException(找不到類)等異常,這些異常是不檢查異常,程序中可以選擇捕獲處理,也可以不處理。
- 這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度盡可能避免這類異常的發(fā)生;
- Error和Exception的區(qū)別:Error通常是災難性的致命錯誤,是程序無法控制和處理的,當出現(xiàn)這些異常時,java虛擬機(JVM)一般會選擇終止線程;Exception通常情況下是可以被程序處理的,并且在程序中應該盡可能的去處理這些異常。
總結(jié)
以上是生活随笔為你收集整理的Error和Exception(异常)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT行业学习网站汇总
- 下一篇: Java-所有类型的Class对象