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

Índice:

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

Vídeo: Diferença entre exceção marcada e não verificada em Java

Vídeo: Diferença entre exceção marcada e não verificada em Java
Vídeo: Curso de Java 51: Exceptions: tipos de erros no Java 2024, Julho
Anonim

Key Difference – Exceção Verificada vs 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 exceção IO e exceção FileNotFound. Quando ocorre uma exceção não verificada, 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 exceção verificada e não verificada em Java. A principal diferença 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.

O que é Checked Exception em Java?

Quando ocorre uma exceção verificada, o aplicativo Java é conectado a um recurso externo. Este recurso pode ser um dispositivo como uma impressora. Pode ser um arquivo ou um banco de dados. Portanto, essas exceções são verificadas pelo compilador. A exceção IO é uma exceção verificada. Ocorre devido a um erro no dispositivo. Quando o aplicativo estiver acessando um arquivo que não existe, ele causará uma exceção FileNotFound. Um aplicativo pode ser conectado a um banco de dados como MySQL, Oracle etc. para armazenar dados. Se ocorresse um erro relacionado a um banco de dados, seria uma exceção SQL. Esses são alguns exemplos de exceções verificadas. Em todos eles, o aplicativo está conectado a um recurso externo. Nas exceções verificadas, é obrigatório tratar 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.

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

Figura 01: Tratamento de Exceções Verificadas

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 ser impressa está dentro do bloco catch. Como não existe um arquivo chamado text1.txt, isso causa uma FileNotFoundException. Ao usar o tratamento de exceção, 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. Ao contrário 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 exceções Aritmética, ArrayOutOfBound e NullPointer.

int a=10, b=0;

int div=a/b;

System.out.println(div);

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

Diferença entre exceção marcada e não verificada em Java_Figura 02
Diferença entre exceção marcada e não verificada em Java_Figura 02

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. Ele pode ser tratado 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 catch.

Consulte a parte do código abaixo.

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. Imprimir o valor de índice 5th causa uma exceção porque está fora do limite. O índice máximo do array1 é 4.

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

Figura 03: Tratamento de Exceções ArrayOutOfBound

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

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

Tanto a exceção verificada quanto a não verificada em Java são tipos de exceção em Java

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

Exceção Verificada vs Não Verificada em Java

Uma exceção verificada é um erro de tempo de execução que é 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 – Exceção Verificada vs 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 de execução do programa, é uma boa prática de programação tratá-las.

Recomendado: