拋異常
顯式:代碼加 throw
隱式:jvm運(yùn)行時(shí),無法正常執(zhí)行淀歇,如數(shù)組索引越界
捕獲異常
try:需要進(jìn)行異常監(jiān)控的代碼
catch:捕獲try中觸發(fā)的異常飒箭,可以有多個(gè),前面的異常類型不能覆蓋后面
finally:必定執(zhí)行的代碼塊遏弱,避免跳過某些關(guān)鍵的清理代碼
異常概念
Throwable:
Exception:RuntimeException(非檢查異常)
Error(非檢查異常)
其他屬于檢查異常盆均,需要顯式的捕獲異常
jvm如何捕獲異常
Java 字節(jié)碼中,每個(gè)方法對(duì)應(yīng)一個(gè)異常表腾窝。當(dāng)程序觸發(fā)異常時(shí)缀踪,Java 虛擬機(jī)將查找異常表,并依此決定需要將控制流轉(zhuǎn)移至哪個(gè)異常處理器之中虹脯。