Diferença entre exceção verificada e não verificada em Java

Diferença de chave - marcada vs exceção não verificada em Java
 

Uma exceção é um erro de tempo de execução. Existem dois tipos de exceções conhecidas como exceções verificadas e não verificadas. Quando ocorre uma exceção verificada, o aplicativo Java é conectado a um recurso externo, como um arquivo, dispositivo ou banco de dados. Essas exceções são verificadas pelo compilador. Alguns exemplos de exceções verificadas são a exceção de E / S e a exceção FileNotFound. Quando ocorre uma exceção desmarcada, o aplicativo não está conectado a nenhum recurso externo. Essas exceções não são verificadas pelo compilador. Alguns exemplos de exceções não verificadas são Exceção aritmética e Exceção ArrayOutOfBound. Este artigo discute a diferença entre a exceção verificada e a não verificada em Java. o diferença chave entre a exceção verificada e não verificada em Java é que uma exceção verificada é verificada pelo compilador, enquanto uma exceção não verificada não é verificada pelo compilador.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é exceção verificada em Java
3. O que é exceção não verificada em Java
4. Semelhanças entre exceção verificada e não verificada em Java
5. Comparação Lado a Lado - Exceção Verificada vs Não Verificada em Java em Forma Tabular
6. Resumo

O que é exceção verificada em Java?

Quando ocorre uma exceção verificada, o aplicativo Java é conectado a um recurso externo. Este recurso pode ser um dispositivo como a impressora. Pode ser um arquivo ou um banco de dados. Portanto, essas exceções são verificadas pelo compilador. A exceção de E / S é uma exceção verificada. Isso ocorre devido a um erro no dispositivo. Quando o aplicativo está acessando um arquivo que não existe, ele causa uma exceção FileNotFound. Um aplicativo pode ser conectado a um banco de dados como MySQL, Oracle etc. para armazenar dados. Se ocorreu um erro relacionado a um banco de dados, seria uma exceção SQL. Esses são alguns exemplos de exceções verificadas. Em todos estes, o aplicativo está conectado a um recurso externo. Nas exceções verificadas, é obrigatório lidar com a exceção. Se não for tratado, o fluxo correto do programa será encerrado e o arquivo de classe não será gerado. O erro pode ser tratado usando o bloco try, catch.

Figura 01: Manipulação de exceção verificada

De acordo com o acima, o FileReader lê os dados do arquivo. O arquivo text1.txt não existe no local especificado. O código que pode dar a exceção é colocado dentro do bloco try. A mensagem a imprimir está dentro do bloco de captura. Como não há um arquivo chamado text1.txt, isso causa uma FileNotFoundException. Usando o tratamento de exceções, a mensagem é impressa na tela.

O que são exceções não verificadas em Java?

Exceções não verificadas não são verificadas pelo compilador. Diferentemente das exceções verificadas, com exceções não verificadas, o aplicativo Java não está conectado a um recurso externo, como arquivo, banco de dados ou dispositivo. Algumas exceções não verificadas comuns são as exceções Aritmética, ArrayOutOfBound e NullPointer.

int a = 10, b = 0;

int div = a / b;

System.out.println (div);

Isso causará uma exceção aritmética devido ao mergulho 'a' por zero. Consulte o código abaixo.

Figura 02: Tratamento de exceções aritméticas

De acordo com o programa acima, a variável a é um valor inteiro. A variável b é 0. A divisão desses dois números é uma divisão por zero. Portanto, causará uma exceção aritmética. Pode ser manuseado usando o bloco try-catch. As instruções que podem causar a exceção são colocadas dentro do bloco try. A mensagem a ser exibida está no bloco de captura.

Consulte a parte abaixo do código.

int array1 [] = 1,2,3,4,5;

System.out.println (array1 [5]);

Isso causará uma exceção. O array1 é um array com 5 elementos. O índice inicial da matriz é zero. Imprimindo os 5º O valor do índice causa uma exceção porque está fora do limite. O índice máximo da matriz1 é 4.

Figura 03: Tratamento de exceções ArrayOutOfBound

De acordo com o programa acima, o array1 possui 5 elementos. Imprimir o elemento com o índice 6 causará uma exceção porque está fora de limite. O índice máximo que pode ser armazenado na matriz1 é 5. A mensagem de erro é impressa executando o bloco catch.

Qual é a semelhança entre exceção verificada e não verificada em Java

  • Exceção marcada e não verificada em Java são tipos de exceção em Java.

Qual é a diferença entre exceção verificada e não verificada em Java?

Exceção marcada versus desmarcada em Java

Uma exceção verificada é um erro de tempo de execução verificado pelo compilador. Uma exceção não verificada é um erro de tempo de execução que não é verificado pelo compilador.
 Ocorrência
Quando ocorre uma exceção verificada, o aplicativo Java é conectado a um recurso externo, como arquivo, dispositivo ou banco de dados. Quando ocorre uma exceção não verificada, o aplicativo Java não está conectado a um recurso externo.
Exemplos
IOException, FileNotFoundException, SQLException são alguns exemplos de exceções verificadas. A exceção aritmética ArrayOutOfBoundException, NullPointerException são alguns exemplos de exceções não verificadas.

Resumo - Verificado vs exceção não verificada em Java

Uma exceção é um evento que interrompe a execução do fluxo do programa. Existem dois tipos de exceções. Eles são chamados de exceções verificadas e exceções não verificadas. Este artigo discutiu a diferença entre uma exceção verificada e exceções não verificadas. A diferença entre exceção verificada e não verificada em Java é que uma exceção verificada é verificada pelo compilador enquanto uma exceção não verificada não é verificada pelo compilador. Como as exceções afetam o fluxo correto da execução do programa, é uma boa prática de programação lidar com elas.

Referência:

1.Point, Tutoriais. “Java Exceptions.”, Tutorials Point, 8 de janeiro de 2018. Disponível aqui
2.nareshtechnologies. Exceção marcada versus desmarcada || Vídeos principais das perguntas frequentes sobre Java, Naresh i Technologies, 31 de dezembro de 2016. Disponível aqui