Java sebebi ne olabilir.lang.yansıtır.Invocationtargetexception?
Peki, bu neden olabilir ne olduğunu anlamak ve okumak için çok çabaladım ama alamadım işte:
Bir yerde benim kodunda bu var:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
Şey, bu işin bir yöntemi çağırmak için çalıştığında atar.
Diğer bazı beklenen durum (özellikle ArrayIndexOutOfBoundsException
) yerine InvocationTargetException
.
Ben aslında bilmem ne yöntemi çağrılır ben düz gittik bu yöntem kod ve ekledi, bir try-catch bloğu için çizgi varsayalım atmak ArrayIndexOutOfBoundsException
ve gerçekten attı ArrayIndexOutOfBoundsException
beklendiği gibi. Yine de giderken
bir şekilde *7 yukarıdaki kodu InvocationTargetException
ve değişiklikler*
e InvocationTargetException
ArrayIndexOutOfBoundsException
beklendiği gibi.
Böyle bir davranışa ne sebep olabilir ya da böyle bir şeyi nasıl kontrol edebilirim?
CEVAP
Yansıması ile yöntemini çağırarak soyutlama ekstra bir seviye kattınız. Yansıma katmanı herhangi bir istisna sarar bir istisna arasında fark var sağlar InvocationTargetException
,aslındayansıma çağrısı başarısız olur ve belki liste geçerli değildi argüman, örneğin) ve yöntemi içinde bir başarısızlık olarak.
Sadece InvocationTargetException
içinde neden aç ve orijinal.
Alternatifleri java için.lang.yansıtır...
İle " uğraşan;java.lang.OutOfMemor...
Nasıl Java iki dizi bir arada olabilir...
Neden't statik yöntemler Java'da ...
Hata java.lang.OutOfMemoryError: GC ov...