運行時異常與一般異常的區別

所有 Error和Exception 的父類都是 java.lang.Throwable

Error:表示由JVM所偵測到的無法預期的錯誤,由於這是屬於JVM層次的嚴重錯誤,導致JVM無法繼續執行,因此,這是不可捕捉的,無法採取 任何恢復的操作,一般只能顯示錯誤的信息。

Exception:一般可恢復,可捕捉。

Java提供了兩類主要的異常:runtime exception 和checked exception 。checked異常也就是我們經常遇到的IO異常,以及SQL異常都是這種異常。對於這種異常,JAVA編譯器強制要求我們必需對出現的這些異常進行 catch。所以,這種異常我們必需去寫 catch 語句塊去處理可能的異常。

     runtime exception ,也稱運行時異常,我們可以不處理。當出現這種異常時,總是由JVM去接管。如:NullPointerException爲最常見的異常之一。

     出現運行時異常後,系統會把異常一直往上層拋,一直遇到處理代碼。如果沒有處理塊,到最上層,如果是多線程就由Thread.run()拋出,如果是單線 程就被main()拋出。拋出之後,如果是線程,這個線程就會退出,如果主程序拋出異常,那麼這個程序就退出。運行時異常是Exception的子類,同 樣也有一般異常的特點,是可以被catch塊處理的。只是我們不對它進行處理罷了。也就是說,你如果不對運行時異常進行處理,那麼出現運行時異常之後,要 麼是線程中止,要麼是主程序中止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章