2015-06-14 2 views
0

m - метод, и я хочу вызвать его на конкретном экземпляре через отражение. следующий код показать, как я сделал invokation:понимание Invocation Target Exception wrapping в Java

try { 
    m.invoke(classInstance);     
} catch (OOPAssertionError e) { 

} catch (Exception e) { 
    system.out(e.getCause().getClass().getName()); 
} 

Теперь Instance предполагают, чтобы бросить следующий класс, когда я взываю конкретный метод, который я только что пытался вызвать ранее, который м в предыдущем коде:

public class OOPAssertionError extends AssertionError { 
} 

Я думал, что программа поймает OOPAssertionError, но на самом деле вместо этого перехватит Exception. и печатает следующую строку: «package.OOPAssertionError».

Почему это происходит?

+1

Вы читали Javadoc метода 'Method # invoke'? –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^