常見的Java異常有以下幾種:
NullPointerException(空指針異常):當(dāng)一個對象引用為null時,調(diào)用該對象的方法或訪問其屬性會拋出NullPointerException異常。
ArrayIndexOutOfBoundsException(數(shù)組越界異常):當(dāng)訪問數(shù)組元素的索引超出數(shù)組的范圍時,會拋出ArrayIndexOutOfBoundsException異常。
ArithmeticException(算術(shù)異常):當(dāng)發(fā)生除以零或者取模運(yùn)算時,會拋出ArithmeticException異常。
IllegalArgumentException(非法參數(shù)異常):當(dāng)傳遞給方法的參數(shù)不合法時,會拋出IllegalArgumentException異常。
ClassCastException(類型轉(zhuǎn)換異常):當(dāng)進(jìn)行類型轉(zhuǎn)換時,如果對象的實際類型與要轉(zhuǎn)換的類型不兼容,會拋出ClassCastException異常。
IOException(輸入輸出異常):當(dāng)發(fā)生輸入輸出操作失敗或中斷時,會拋出IOException異常。
FileNotFoundException(文件不存在異常):當(dāng)訪問文件時,如果文件不存在,會拋出FileNotFoundException異常。
InterruptedException(線程中斷異常):當(dāng)一個線程處于等待、睡眠或者暫停狀態(tài)時,另一個線程中斷了它,會拋出InterruptedException異常。
RuntimeException(運(yùn)行時異常):包括諸如數(shù)組越界、空指針、類型轉(zhuǎn)換等運(yùn)行時錯誤,不需要顯式地在代碼中處理,可以選擇性地捕獲和處理。
Exception(其他異常):除了上述常見異常之外的其他異常,需要顯式地在代碼中處理或者通過throws關(guān)鍵字拋出給調(diào)用者進(jìn)行處理。