Java中異常的種類分為兩大類:Checked Exception(受檢異常)和 Unchecked Exception(非受檢異常)。
Checked Exception(受檢異常)是在編譯期強(qiáng)制要求處理的異常,必須在代碼中顯式地進(jìn)行捕獲或聲明拋出。常見的 Checked Exception 有:
- IOException(輸入輸出異常)
- SQLException(數(shù)據(jù)庫異常)
- ClassNotFoundException(類未找到異常)
- InterruptedException(線程中斷異常)
Unchecked Exception(非受檢異常)是在運(yùn)行時發(fā)生的異常,不需要在代碼中進(jìn)行捕獲或聲明拋出。常見的 Unchecked Exception 有:
- NullPointerException(空指針異常)
- ArrayIndexOutOfBoundsException(數(shù)組越界異常)
- IllegalArgumentException(非法參數(shù)異常)
- IllegalStateException(狀態(tài)非法異常)
Error(錯誤)是嚴(yán)重的問題,通常是指 JVM 或者虛擬機(jī)內(nèi)部的錯誤,無法通過代碼處理。常見的 Error 有:
- OutOfMemoryError(內(nèi)存溢出錯誤)
- StackOverflowError(堆棧溢出錯誤)
- NoClassDefFoundError(類未定義錯誤)