O que é encadeamento de exceção em java

O que é encadeamento de exceção em java
O "exceções”Encontrado durante a programação faz parte da implementação. Nesses casos, pode haver um requisito para o desenvolvedor determinar as exceções reais para limpar a ambiguidade no código convenientemente. Isso auxilia o programador a identificar os gargalos voltados de forma adequada e depois simplificar as funcionalidades do código de acordo.

Este artigo discutirá o uso e a implementação do Java “Encadeamento excepcional”.

O que é "encadeamento de exceção" em Java?

““Encadeamento de exceção”É enfrentado quando uma exceção causa outra exceção. É tal que a exceção real é o motivo da segunda exceção.

Antes de se mover em direção ao exemplo a seguir, inclua o pacote abaixo para executar “Entrada/saída" operações:

importar java.io.*;

Exemplo 1: Aplicando o encadeamento de exceção usando "ioexception" e "eofexception" em java

O "Eofexception”Em Java é encontrado quando a extremidade do arquivo é alcançada inesperadamente enquanto inseriu. O "Ioexception”No entanto, é enfrentado quando ocorre um erro de E/S ocorre.

Neste exemplo, o encadeamento excepcional pode ser realizado de tal forma que a exceção, eu.e., ““Eofexception”É a principal causa da exceção de face, eu.e., ““Ioexception”:

publicCllassexceptionCheing
publicstaticVoidMain (String args [])
tentar
thrownew ioexception ("ioexception encontrado").
initCause (nova eofexception ("A principal causa é a eofexception"));

Catch (jogável, exceto)
Sistema.fora.println ("Exceção enfrentada:" + exceto);
Eofexception real = (eofexception), exceto.getCause ();
Sistema.fora.println ("A causa é:" + real);

Nas linhas de código acima, aplique as seguintes etapas:

  • Primeiro de tudo, uma exceção chamada “Ioexception"É jogado via"InputStream”Enquanto a causa real é o“Eofexception”.
  • O cenário acima indica que a principal causa da ioexception é a eofexception.
  • Além disso, a principal causa é exibida através do “initcause ()”Método. Este método inicializa a causa de uma exceção jogável ao valor específico.
  • O "pegar”Block lida com a exceção de face.
  • Além disso, exiba a causa real da exceção encontrada através do associado “getCause ()”Método.

Saída

Nesta saída, pode -se observar que as exceções voltadas e reais são exibidas adequadamente.

Exemplo 2: Aplicando o encadeamento de exceção usando "arithmeticexception" e "nullpointerException" em java

O "Arithmeticexception”Corresponde à condição aritmética excepcional de face. O "Null Pointer Exception”Está enfrentado quando uma variável que está sendo invocada ainda não está alocada a um objeto.

Este exemplo utiliza essas duas exceções, de modo que a exceção anterior é a exceção enfrentada devido à última exceção:

publicCllassexceptionClaining2
publicstaticVoidMain (String args [])
tentar
Arithmeticexception real =
nova arithmeticexception ("Exceção encontrada");
real.initCausa (new NullPointerException ("principal causa"));
jogar real;

Catch (arithmeticexception, exceto)
exceto.printStackTrace ();
Sistema.fora.println (exceto.getCause ());

De acordo com o snippet de código acima, aplique as etapas abrangentes:

  • Lembre -se das abordagens discutidas para criar uma exceção e jogar a exceção real sendo a causa.
  • Agora, lide com a exceção de face e exibi -la em detalhes, como número de linha, classe, etc., com a ajuda do “PrintStackTrace ()”Método.
  • Finalmente, registre a causa real, eu.e., ““Null Pointer Exception”Da exceção de face, eu.e., ““Arithmeticexception" também.

Saída

Nesse resultado, pode estar implícito que as exceções face e as exceções reais são exibidas em detalhes.

Conclusão

““Encadeamento de exceção”Em Java é enfrentado quando uma exceção resulta em outra exceção. É tal que a exceção real é a causa da exceção enfrentada. O encadeamento é feito para identificar a causa real da exceção e exibi -la. Este blog orientou o uso e a implementação de encadeamento excepcional em Java.