ঠিক আছে, আমি এর কারণ কী হতে পারে তা বোঝার এবং পড়ার চেষ্টা করেছি তবে আমি এটি পেতে পারি না:
আমার কোডে এটি আমার কোথাও রয়েছে:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
কথাটি হ'ল, যখন এটি কোনও পদ্ধতিটি চালিত করার চেষ্টা করে তবে এটি InvocationTargetException
অন্য কিছু প্রত্যাশিত ব্যতিক্রমের (বিশেষত ArrayIndexOutOfBoundsException
) পরিবর্তে ছুড়ে দেয়
। যেহেতু আমি আসলে জানি যে কী পদ্ধতিটি আহ্বান জানানো হয়েছে আমি সরাসরি এই পদ্ধতি কোডটিতে গিয়ে লাইনটির জন্য একটি ট্রাই-ক্যাচ ব্লক যুক্ত করেছি যা অনুমান করা হয় ArrayIndexOutOfBoundsException
এবং এটি ArrayIndexOutOfBoundsException
প্রত্যাশার মতো ছুঁড়ে দিয়েছে । তবুও এটি যখন উপরে চলে যায় তখন কোনওভাবে InvocationTargetException
উপরের কোডে এবং catch(Exception e)
ই-তে
প্রত্যাশিত পরিবর্তন হয়।InvocationTargetException
ArrayIndexOutOfBoundsException
কী এমন আচরণের কারণ হতে পারে বা আমি কীভাবে এই জিনিসটি পরীক্ষা করতে পারি?