Java异常中受检异常非受检异常与RuntimeException异常关系
Error 和 Exception:
所有異常都是 Throwable 的子類,分為 Error 和 Exception。Error 是 Java 運行時系統的內部錯誤和資
源耗盡錯誤,例如 StackOverFlowError 和 OutOfMemoryError,這種異常程序無法處理。
Exception異常中主要包含IOException與 RuntimeException,并不只是這兩種,這兩種占比較大,其他還有像InterruptedException與ClassNotFoundException等等
異常之間關系:
總的來說,異常可分為受檢異常與非受檢異常(所有的異常直接劃分為RuntimeException與非RuntimeException異常是不準確的,而Exception異常是可以這樣劃分的)。非受檢異常指的是java.lang.RuntimeException和java.lang.Error類及其子類,所有其他的異常類都稱為受檢異常。受檢異常需要在代碼中顯式處理,否則會編譯出錯。
也即是說RuntimeException是非受檢異常的子集。
并且ClassNotFoundException并不是RuntimeException,二者之間沒有繼承關系,這可以從源碼中看出:
public class ClassNotFoundException extends ReflectiveOperationException public class ReflectiveOperationException extends Exception像其他常見RuntimeException的比如ClassCastException 可以直接看出具有繼承關系:
public class ClassCastException extends RuntimeException總結
以上是生活随笔為你收集整理的Java异常中受检异常非受检异常与RuntimeException异常关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware虚拟机中调用本机摄像头详解
- 下一篇: 并发下HashMap头插会造成死循环情况