Sintaxe:
A sintaxe de o Try-Catch-finalmente O bloco é dado abaixo.
tentarAqui, se ocorrer uma exceção dentro do bloco de tentativa, a exceção será lançada ao bloco de captura, e o bloco finalmente é opcional aqui. O código do bloco finalmente executa se uma exceção ocorre ou não.
Exemplo 1: manuseio de exceção com um único bloco de captura
O exemplo a seguir mostra o uso do manuseio de exceções usando um único bloco de captura. Um nome de arquivo será tomado como entrada e criará um objeto do BufferredReader para abrir um arquivo para ler. Se o nome do arquivo existir, o conteúdo do arquivo será lido linha por linha e impresso. Se o arquivo não existir, uma exceção será gerada e uma mensagem de erro será impressa.
importar java.io.BufferredReader;Saída:
Na saída a seguir, 'olá.TXT' é dado como o nome do arquivo que não existe. Portanto, a seguinte mensagem é impressa.
Próxima vez, arquivo1.TXT é dado como nome de arquivo que existe, e a saída mostra o conteúdo do arquivo.
Exemplo 2: Manuseio de exceção com vários blocos de captura
Como você pode usar vários blocos de captura para lidar com várias exceções é mostrado no exemplo a seguir. Aqui, três blocos de captura são declarados. O primeiro bloco de captura captura o erro aritmético quando qualquer operação aritmética ilógica for feita. O segundo Catch Bock pegará o erro fora do alcance da matriz quando um valor de índice de matriz será tentado ler que não existe. O terceiro bloco de captura capturará o erro de valor numérico quando qualquer caractere ou valor da string for dado como um valor de matriz. No código, uma matriz com quatro índices é declarada e inicializada com os valores inteiros que serão retirados do usuário. Os valores da matriz são impressos usando um loop. Uma operação de divisão é feita no final do bloco de tentativa.
importar java.util.Scanner;Saída:
A saída a seguir mostra que os valores da matriz são inseridos e impressos corretamente, mas o terceiro bloco de captura é executado porque 50 é dividido por 0, o que é um erro.
O programa é executado pela segunda vez. Quando um valor de string é dado como um valor de matriz, a segunda exceção é gerada e a declaração do segundo bloco de captura é executada.
Exemplo 3: Manuseio de exceção com bloqueio de Try-Catch-finalmente
O uso de finalmente o bloco com o bloco de tentativa é mostrado no exemplo a seguir. O código de finalmente o bloco é executado se ocorrer uma exceção ou não. No código, um valor inteiro será retirado do usuário. Se o usuário der algum valor de string, então InputMismatchException
irá gerar e imprimir a mensagem do bloco de captura. O objeto de scanner será fechado no finalmente Bloco se a exceção gera ou não.
importar java.util.Scanner;Saída:
78 é dado como valor de entrada na saída a seguir após a execução do código. Portanto, nenhuma exceção é gerada aqui. A mensagem do bloco finalmente é impressa mais tarde.
Próximo, olá é dado como entrada após executar o código que é uma string. Portanto, a exceção é gerada e a mensagem de erro do bloco de captura é impressa. A mensagem do bloco finalmente é impressa mais tarde.
Conclusão:
O manuseio de exceção é um recurso muito importante e útil de qualquer linguagem de programação que possa ser usada para ocultar a mensagem de erro real do usuário e fornecer a mensagem de erro legível por humanos para o usuário entender o erro corretamente. Este tutorial ajuda o usuário a aprender diferentes maneiras de aplicar o manuseio de exceções em Java e tornar seu código mais apropriado.