提到JVM處理異常的機(jī)制,就需要提及Exception Table,以下稱為異常表。
我們暫且不急于介紹異常表,先看一個(gè)簡(jiǎn)單的 Java 處理異常的小例子。
使用javap來(lái)分析這段代碼(需要先使用javac編譯)
看到上面的代碼,應(yīng)該會(huì)有會(huì)心一笑,因?yàn)榻K于看到了Exception table,也就是我們要研究的異常表。
異常表中包含了一個(gè)或多個(gè)異常處理者(Exception Handler)的信息,這些信息包含如下:
from 可能發(fā)生異常的起始點(diǎn)to 可能發(fā)生異常的結(jié)束點(diǎn)target 上述from和to之前發(fā)生異常后的異常處理者的位置type 異常處理者處理的異常的類信息