Como resolver Java.Lang.refletir.Erro de InvocationTargeTexception

Como resolver Java.Lang.refletir.Erro de InvocationTargeTexception

Ao analisar as limitações do código para otimizar o código, pode haver casos em que o desenvolvedor precisa localizar o problema real. Por exemplo, configurando a limitação embrulhada para eliminar o gargalo real instantaneamente. Em tais situações, resolvendo o “Java.Lang.refletir.InvocationTargeTexception”O erro é de grande ajuda na análise e classificação das funcionalidades do código de maneira eficaz.

Este blog elaborará a resolução do “Java.Lang.refletir.InvocationTargeTexception”Erro.

Qual é o “java.Lang.refletir.InvocationTargeTexception ”Erro?

Quando um método de classe invocado por “Método.invocar()”Registra uma exceção, é embrulhado pelo“Java.Lang.refletir.InvocationTargeTexception”Classe, escondendo a limitação real.

Ocorrência do “Java.Lang.refletir.InvocationTargeTexception ”Erro

Vamos ver o exemplo a seguir para analisar a ocorrência do “Java.Lang.refletir.InvocationTargeTexception”Limitação com a ajuda do“getMethods ()" e "invocar()" métodos. O método anterior invoca todos os métodos de classe e o último método acessa o método subjacente representado pelo objeto de método.

Sintaxe

Objeto público Invoke (objeto ob, objeto… arg)

Nesta sintaxe:

  • ““Objeto ob”Aponta para o objeto que o método subjacente é acessado de.
  • ““Objeto… arg”Refere -se aos argumentos utilizados para a chamada de método.

Em primeiro lugar, inclua a seguinte biblioteca para fornecer os detalhes sobre um método em uma categoria ou interface específica e fornecer acesso ao mesmo:

importar java.Lang.refletir.Método;

Agora, passe para as linhas de código abaixo fornecidas:

classe InvocationException
public void parseInteger ()
int x = número inteiro.parseint (nulo);
Sistema.fora.println (x);

classe pública Langexception
public static void main (string args [])
InvocationException Ti = new InvocationException ();
Método [] M = InvocationException.aula.getMethods ();
tentar
m [0].Invoke (Ti);

Catch (Exceção e)
Sistema.fora.println ("A exceção do invólucro é:" + e);

De acordo com este bloco de código, aplique as seguintes etapas:

  • Em primeiro lugar, defina uma classe chamada “InvocationException”.
  • Em sua definição, defina a função “ParseInteger ()"E analisar o"nulo”String em um número inteiro, como sua definição através do“parseint ()”Método.
  • No "principal”Método, crie o objeto de classe usando o“novo"Palavra -chave e a"InvocationException ()”Construtor, respectivamente.
  • Na próxima etapa, aplique o “getMethods ()”Método para buscar todos os métodos de classe.
  • Agora, inclua o “tentar”Bloqueie e invocar o método de primeira classe, referindo -se ao seu índice, eu.e., ““0”E o objeto de classe como o“invocar()Parâmetro do método, respectivamente.
  • Por fim, lide com a exceção enfrentada no “tentar”Bloco no“pegar" bloquear.

Saída

Nesta saída, pode ser analisado claramente que a exceção real, eu.e., ““NumberFormatexception"É embrulhado pelo"InvocationTargeTexception”.

Resolvendo o “Java.Lang.refletir.InvocationTargeTexception ”Erro

Para lidar com a limitação discutida, aplique o “getCause ()”Método. Este método retorna a causa/razão da exceção ou dá “nulo“Se o motivo da exceção for desconhecido.

Para isso, basta anexar o método discutido no “pegar”Bloco para registrar a exceção real também, como segue:

Sistema.fora.println ("A exceção real é:" + e.getCause ());

Nesse resultado, é evidente que a exceção embrulhada antes é registrada adequadamente através do método anexado.

Conclusão

Para resolver o “Java.Lang.refletir.InvocationTargeTexceptionErro, aplique o “getCause ()”Método para registrar a exceção real no console. Auxilia a analisar a causa real da limitação que leva à sua solução. Este blog era sobre resolver o “Java.Lang.refletir.InvocationTargeTexception”Erro.