Java面試題:解釋Java中的異常處理流程
在 Java 中,所有的異常都有一個共同的祖先 Throwable(可拋出)。Throwable 指定代碼中可用異常傳播機制通過 Java 應用程序傳輸的任何問題的共性。
Throwable: 有兩個重要的子類:Exception(異常)和 Error(錯誤),二者都是 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。
注意:異常和錯誤的區別:異常能被程序本身可以處理,錯誤是無法處理。
點擊展開全文
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※java基礎知識(三)
※java 老司機從頭開始 筆記1
※程序員職業生涯中必將經歷的 8件大事
※程序員們最不喜歡做的事情,沒有之一二三
TAG:java學習吧 |
※前端面試題:JS中的let和var的區別
※Tomcat+Servlet面試題都在這裡
※關於 ArrayList 的 5 道面試題
※Hibernate面試題大全
※面試題殺手鐧:CopyOnWrite思想
※Google 經典面試題解析
※Android面試題推薦
※整理的最全 python常見面試題
※自動化測試Selenium最新面試題和對應答案!
※搞定這套 Python 爬蟲面試題,面試會 so easy
※python簡單面試題
※Swift面試題(1)
※百道Python面試題實現,搞定Python編程就靠它
※68道Spring面試題和答案
※30道Spring面試題和答案
※常見Python面試題 — 手寫代碼系列
※17道因為太難而被禁用的Google面試題
※Python經典面試題21道
※Python 經典面試題 21 道
※Linux大牛分享的7道經典面試題和秒收 offer 的技巧