Experimente, pegue, jogue e finalmente declarações em Java | Explicado

Experimente, pegue, jogue e finalmente declarações em Java | Explicado
Em qualquer linguagem de programação, incluindo Java, sempre existe a possibilidade de que ocorra um erro no momento da execução do código, como resultado, o programa para de funcionar e lança um erro. Em termos programaticamente, esse fenômeno é referido como exceções. Java fornece a solução que pode lidar com essas exceções/erros de tempo de execução conhecidos como manuseio de exceção.

Em Java, várias maneiras podem ser adotadas para lidar com as exceções, nesta redação, discutiremos as seguintes maneiras de tratamento de exceções:

  • Manuseio de exceção usando declarações de tentativa
  • Manuseio de exceção usando finalmente declaração
  • Manuseio de exceção usando palavra -chave de arremesso

Todas as abordagens acima mencionadas serão discutidas neste artigo com a ajuda de alguns exemplos. No entanto, antes de seguir em direção a essas abordagens primeiro, precisamos entender por que é necessário lidar com exceções em java.

Por que manuseio de exceção em java

Caso enfrentemos qualquer erro, normalmente o programa interrompe sua execução, no entanto, o manuseio de exceções garante que o fluxo normal do programa não seja interrompido.

Vamos considerar um cenário para a profunda compreensão do manuseio de exceções em Java:

Suponha que tenhamos cinco declarações em um programa e a exceção ocorra na terceira declaração, então um programa normal interrompe sua execução nesse ponto, e as duas declarações restantes não executaram. No entanto, se aplicarmos o manuseio de exceções, o fluxo normal não seria afetado eu.e. Exceção será mostrada apenas para a declaração afetada e todas as outras declarações serão executadas com sucesso.

Exemplo

Vamos considerar o exemplo abaixo que não considerou o mecanismo de manuseio de exceção. Agora, o que acontecerá se ocorrer um erro?

publicCllassexceptionHandlingExample
publicstaticVoidMain (String [] args)
int [] arr = 5, 10, 0, 25, 5;
para (inti = 0; i
int num = 50;
Sistema.fora.println ("Resultado:" + num/arr [i]);


Neste programa, temos uma variedade de números inteiros, dentro do loop, especificamos uma condição ARR.comprimento que representa o iterado até a última entrada da matriz. E dentro do corpo do loop, temos um número "50" e ele será dividido por cada valor da matriz:

A partir da saída, fica claro que o programa termina quando ocorre um erro e não imprime os valores restantes da matriz.

Portanto, para lidar com esses cenários, os programadores Java utilizam o conceito de manipulação de exceções, para que, se ocorrer um erro, em vez de encerrar todo o programa, ele deve lançar a exceção apenas para a declaração afetada apenas.

Manuseio de exceção usando try-capath

Uma das maneiras mais simples e fáceis de lidar com exceções é Try-Catch declarações que surgem como um par. O código especificado no bloco de tentativa será testado para as exceções/erros e, se ocorrer uma exceção, será capturado no bloco de captura.

A sintaxe básica da instrução Try-Catch ficará assim:

tentar

// código a ser testado para exceção

pegar

// Código para lidar com exceções

O bloco de tentativa sempre será seguido por pelo menos um bloco de captura.

Exemplo

Vamos estender o exemplo anterior um pouco mais e adicionar as declarações de try-capath para lidar com as exceções.

publicCllassexceptionHandlingExample
publicstaticVoidMain (String [] args)
int num = 50;
int [] arr = 5, 10, 0, 25, 5;
para (inti = 0; itentar
Sistema.fora.println ("Resultado:" + num / arr [i]);
catch (Exceção ex)
Sistema.fora.println ("uma exceção ocorre");



O código completo ao lado de sua respectiva saída é mostrada no seguinte snippet:

Desta vez, quando ocorre um erro, nesse ponto o programa mostra uma mensagem “Uma exceção ocorre” e depois, o loop itera através das entradas restantes da matriz.

Manuseio de exceção usando finalmente declaração

Em Java, o finalmente A palavra-chave pode ser usada com Try-capath e sempre será executada, independentemente de as exceções serem tratadas ou não.

Observação: Sempre escreva as declarações/código importantes (que você deseja executar em qualquer situação) dentro do finalmente bloquear.

Exemplo

O trecho de código abaixo mostra como finalmente Block Works em Java:

publicCllassexceptionHandlingExample
publicstaticVoidMain (String [] args)
tentar
int número 1 = 12;
int número2 = 0;
Sistema.fora.println (número1/número2);

Catch (ArrayIndexoutOfBoundSexceptionExcep)
Sistema.fora.println ("Exceção ocorreu");

finalmente

Sistema.fora.println ("finalmente bloco");


O código completo e sua respectiva saída são mostrados na captura de tela a seguir:

Como no código acima, utilizamos a exceção do ArrayOutfbound, portanto, é incapaz de lidar com uma exceção aritmética. No entanto, a partir do trecho acima, fica claro que o finalmente O bloco é executado independentemente das consequências (i.e. exceção tratada ou não).

Manuseio de exceção usando palavra -chave de arremesso

A palavra -chave arremesso pode ser usada para lançar uma exceção explicitamente (eu.e. Ele nos permite criar uma exceção personalizada). Pode ser usado com qualquer tipo de exceção, como ArrayIndexoutOfBoundSexception, arithmeticexception e assim por diante.

Exemplo

Neste exemplo, aceitaremos um valor no momento da chamada da função, se o valor de entrada for igual a 0, então jogaremos um personalizado Exceção aritmética.

publicClassThrowExample
publicVoidDivide (Int Input)
INT número = 100;
if (input == 0)
thrownewarithmeticexception ("\ n Você entra 0, não pode executar a divisão");
outro
Sistema.fora.println ("Resultado:" + número / entrada);


publicstaticVoidMain (String [] args)
throwExample obj = newhrowExample ();
obj.divida (0);

O trecho de código completo junto com a saída é fornecido no seguinte snippet:

O trecho de código acima mostra que a passagem "0" como a entrada resulta em exceções personalizadas que autentica o funcionamento do lançar palavra -chave.

Conclusão

Java fornece várias declarações para lidar. Try-Catch As declarações surgem como um par, o bloco de tentativa testa o código para exceções/erros se ocorrer uma exceção, então será pego no bloco de captura. O finalmente A palavra-chave pode ser usada com o Try-capath e sempre será executada, independentemente de as exceções serem tratadas ou não enquanto o lançar A palavra -chave é usada para lançar uma exceção explicitamente. Este artigo fornece uma compreensão detalhada de como lidar com exceções em Java.