RuntimeException與其子類別和錯誤(Error)不是必須要捕獲或拋出。
Java異常Throwable
分為兩類:Error
和Exception
,Error類別是錯誤,程式本身不能處理的。
Exception有分為兩類:IOException
(非運行時異常)和RuntimeException
(運行時異常),其中RuntimeException是在程式設計時盡量避免的。
除了RuntimeException及其子類別以外,其他的Exception類別及其子類別都屬於可查異常。這種異常編譯器要求強制處置,要麼try-cathch,要麼在方法名稱後面拋出。
不可查異常(編譯器不要求強制處置的異常):包含運行時異常(RuntimeException
與其子類別)和錯誤(Error
)。
Exception 這種異常分兩大類:運行時異常和非運行時異常(編譯異常)。
運行時異常:都是RuntimeException類別及其子類別異常,如NullPointerException
(空指標異常)、IndexOutOfBoundsException
(下標越界異常)等,這些異常是不檢查異常,程式中可以選擇捕獲處理,也可以不處理。
這些異常一般是由程式邏輯錯誤引起的,程式應該從邏輯角度盡可能避免這類異常的發生。
執行階段異常的特點是:Java編譯器不會檢查它,也就是說,當程式中可能出現這類異常,即使沒有用try-catch語句捕捉它,也沒有用throws子句聲明拋出它,也會編譯通過。
非運行時異常 (編譯異常):從程式語法角度講是必須進行處理的異常,如果不處理,程式就不能編譯通過。如IOException
、SQLException
等以及使用者自訂的Exception異常,不過一般情況下不自訂檢查異常。
其實就是:RuntimeException與其子類別和錯誤(Error)不是必須要捕獲或拋出。
推薦教學:java入門教學
#以上是java中的不拋出的異常是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!