Come risolvere Java.Lang.riflettere.InvocationTargeTexception Errore

Come risolvere Java.Lang.riflettere.InvocationTargeTexception Errore

Durante l'analisi delle limitazioni del codice per semplificare il codice, possono esserci istanze in cui lo sviluppatore deve individuare il problema effettivo. Ad esempio, configurazione della limitazione avvolta per eliminare immediatamente l'attuale collo di bottiglia. In tali situazioni, risolvendo il "Giava.Lang.riflettere.InvocationTargeTexception"L'errore è di grande aiuto nell'analisi e nell'ordinamento delle funzionalità del codice in modo efficace.

Questo blog approfondirà la risoluzione del "Giava.Lang.riflettere.InvocationTargeTexception"Errore.

Qual è il "Java.Lang.riflettere.InvocationTargeTexception ”Errore?

Quando un metodo di classe invocato da "Metodo.invocare()"Registra un'eccezione, è avvolto da"Giava.Lang.riflettere.InvocationTargeTexception"Classe, nascondendo così la limitazione effettiva.

Presenza del “Java.Lang.riflettere.InvocationTargeTexception ”Errore

Panoramiamo il seguente esempio per analizzare il verificarsi di "Giava.Lang.riflettere.InvocationTargeTexception"Limitazione con l'aiuto del"getMethods ()" E "invocare()"Metodi. Il precedente metodo invoca tutti i metodi di classe e il secondo metodo accede al metodo sottostante rappresentato dall'oggetto metodo.

Sintassi

Oggetto pubblico invoca (oggetto ob, oggetto ... arg)

In questa sintassi:

  • "Oggetto ob"Punti all'oggetto si accede al metodo sottostante.
  • "Oggetto ... Arg"Si riferisce agli argomenti utilizzati per la chiamata del metodo.

In primo luogo, assicurati di includere la seguente libreria per fornire i dettagli relativi a un metodo su una particolare categoria o interfaccia e fornire l'accesso per lo stesso:

Importa Java.Lang.riflettere.Metodo;

Ora, passa alle righe di codice sotto fornite:

Classe InvocationException
public void parseInteger ()
int x = intero.parseint (null);
Sistema.fuori.println (x);

Classe pubblica Langexception
public static void main (string args [])
InvocationException ti = new InvocationException ();
Method [] M = InvocationException.classe.getMethods ();
Tentativo
M [0].invocare (ti);

catch (eccezione e)
Sistema.fuori.println ("L'eccezione del wrapper è:" + e);

Secondo questo blocco di codice, applica i seguenti passaggi:

  • In primo luogo, definisci una classe chiamata "InvocationException".
  • Nella sua definizione, definire la funzione "ParseInteger ()"E analizza il"nullo"String in un numero intero, come definizione tramite"parseint ()" metodo.
  • Nel "principale"Metodo, crea l'oggetto Classe usando il"nuovo"Parola chiave e"InvocationException ()"Costruttore, rispettivamente.
  • Nel passaggio successivo, applica il "getMethods ()"Metodo per recuperare tutti i metodi di classe.
  • Ora, includi il "Tentativo"Blocca e invoca il metodo di prima classe facendo riferimento al suo indice, i.e., "0"E l'oggetto di classe come"invocare()"Parametro del metodo, rispettivamente.
  • Infine, far fronte all'eccezione affrontata nel "Tentativo”Blocco nel"presa"Blocco.

Produzione

In questo output, può essere analizzato chiaramente che l'eccezione reale, i.e., "NumberFormatexception"È avvolto dal"InvocationTargeTexception".

Risolvere il "Java.Lang.riflettere.InvocationTargeTexception ”Errore

Per far fronte alla limitazione discussa, applica il "getCause ()" metodo. Questo metodo restituisce la causa/motivo dell'eccezione o dà "nullo"Se il motivo dell'eccezione è sconosciuta.

Per fare ciò, semplicemente aggiungi il metodo discusso nel "presa"Blocca per registrare anche l'eccezione fatta effettiva, come segue:

Sistema.fuori.println ("L'eccezione effettiva è:" + E.getCause ());

In questo risultato, è evidente che l'eccezione avvolta prima viene registrata in modo appropriato tramite il metodo aggiunto.

Conclusione

Per risolvere il "Giava.Lang.riflettere.InvocationTargeTexception"Errore, applicare il"getCause ()"Metodo per registrare l'eccezione effettiva sulla console. Aiuta ad analizzare la causa effettiva della limitazione che porta alla sua soluzione. Questo blog riguardava la risoluzione del "Giava.Lang.riflettere.InvocationTargeTexception"Errore.