0
m是一種方法,我想通過反射在特定實例上調用它。 我下面的代碼演示瞭如何做的invokation:瞭解調用目標Java中的異常換行
try {
m.invoke(classInstance);
} catch (OOPAssertionError e) {
} catch (Exception e) {
system.out(e.getCause().getClass().getName());
}
現在實例假設拋出下面的類時,我調用具體方法我只是試圖更早調用,這是在以前的m代碼:
public class OOPAssertionError extends AssertionError {
}
我認爲該程序將捕獲OOPAssertionError,但實際上它捕獲異常,而不是。 並打印下列行:「package.OOPAssertionError」。
爲什麼會發生這種情況?
你讀過'Method#invoke'的Javadoc嗎? –