Jak rozwiązać Javę.Lang.odbijać.Błąd InvocationTargetException

Jak rozwiązać Javę.Lang.odbijać.Błąd InvocationTargetException

Analizując ograniczenia kodu w celu usprawnienia kodu, mogą wystąpić przypadki, w których deweloper musi zlokalizować rzeczywisty problem. Na przykład konfiguracja zawiniętego ograniczenia w celu natychmiastowego wyeliminowania rzeczywistego wąskiego gardła. W takich sytuacjach rozwiązanie „Jawa.Lang.odbijać.InvocationTargetException„Błąd jest bardzo pomocny w skutecznym analizie i sortowaniu funkcji kodu.

Ten blog opracuje rozwiązanie „Jawa.Lang.odbijać.InvocationTargetException" błąd.

Co to jest „Java.Lang.odbijać.Błąd InvocationTargetException ”?

Kiedy metoda klasowa wywołana przez „metoda.odwołać się()„Loguje wyjątek, jest owinięty przez„Jawa.Lang.odbijać.InvocationTargetException„Klasa, tym samym, ukrywając w ten sposób faktyczne ograniczenie.

Występowanie „Java.Lang.odbijać.Błąd InvocationTargetException ”

Przeglądmy poniższy przykład, aby przeanalizować występowanie „Jawa.Lang.odbijać.InvocationTargetException„Ograniczenie za pomocą„getMethods ()" I "odwołać się()”Metody. Pierwsza metoda wywołuje wszystkie metody klasy, a druga metoda uzyskuje dostęp do metody podstawowej reprezentowanej przez obiekt metody.

Składnia

obiekt publiczny inwokuj (obiekt OB, obiekt… arg)

W tej składni:

  • "Obiekt ob”Wskazuje na obiekt, z którego można uzyskać podstawową metodę.
  • "Obiekt… arg”Odnosi się do argumentów wykorzystywanych do wywołania metody.

Po pierwsze, upewnij się, że uwzględnij następującą bibliotekę, aby podać szczegóły dotyczące jednej metody w określonej kategorii lub interfejsie i zapewnić dostęp do tego samego:

Importuj Java.Lang.odbijać.Metoda;

Teraz przejdź do podwładnych linii kodu:

InvocationalException klasy
public void parseInteger ()
int x = liczba całkowita.parseint (null);
System.na zewnątrz.println (x);

klasa publiczna Langexception
public static void main (string args [])
InvocationException ti = new invocationException ();
Metoda [] m = inwocationException.klasa.getMethods ();
próbować
M [0].invoke (ti);

Catch (wyjątek e)
System.na zewnątrz.println („wyjątkiem opakowania jest:” + e);

Zgodnie z tym blokiem kodu zastosuj następujące kroki:

  • Po pierwsze, zdefiniuj klasę o nazwie „Wykonanie".
  • W swojej definicji zdefiniuj funkcję „parseInteger ()”I analizuj„zero„Ciągnąć się w liczbę całkowitą, jako jej definicja za pośrednictwem„parseint ()" metoda.
  • W "główny„Metoda, utwórz obiekt klasowy za pomocą„nowy”Słowo kluczowe i„InvocationException ()”Konstruktor odpowiednio.
  • W następnym kroku zastosuj „getMethods ()„Metoda pobierania wszystkich metod klasowych.
  • Teraz dołącz „próbować”Blokuj i wywołaj metodę pierwszej klasy, odnosząc się do jej indeksu, i.mi., "0”, A klasowy obiekt jako„odwołać się()”Odpowiednio parametr metody.
  • Wreszcie, radzi sobie z wyjątkiem, z którego napotkano w „próbować„Blok w„złapać" blok.

Wyjście

W tym wyjściu można wyraźnie przeanalizować, że rzeczywisty wyjątek, i.mi., "NumberFormatexception”Jest owinięty przez„InvocationTargetException".

Rozwiązanie „Java.Lang.odbijać.Błąd InvocationTargetException ”

Aby poradzić sobie z omówionym ograniczeniem, zastosuj „getCause ()" metoda. Ta metoda zwraca przyczynę/przyczynę wyjątku lub daje „zero„Jeśli przyczyna wyjątku jest nieznana.

W tym celu po prostu dołącz omawianą metodę w „złapać„Blokuj, aby zarejestrować rzeczywisty wyjątek, jak następuje:

System.na zewnątrz.println („rzeczywisty wyjątek to:” + e.getCause ());

W tym wyniku jest oczywiste, że zapakowany wyjątek jest odpowiednio zarejestrowany.

Wniosek

Aby rozwiązać „Jawa.Lang.odbijać.InvocationTargetException„Błąd, zastosuj„getCause ()”Metoda rejestrowania rzeczywistego wyjątku na konsoli. Pomaga w analizie faktycznej przyczyny ograniczenia prowadzącego do jego rozwiązania. Ten blog polegał na rozwiązaniu „Jawa.Lang.odbijać.InvocationTargetException" błąd.