Diferença entre exceção marcada e desmarcada

O tratamento de exceções em Java é um dos mecanismos poderosos para lidar com erros específicos que surgem em uma sequência de código em tempo de execução. Uma exceção nada mais é que um erro de tempo de execução que interrompe o fluxo normal do aplicativo.

Normalmente ocorre em um trecho de código e, quando ocorre, um objeto que representa essa exceção é criado e jogado no método que o causou. Como resultado, o programa ou aplicativo é interrompido, causando o encerramento anormal do aplicativo, o que não é recomendado. É por isso que essas exceções devem ser tratadas e é aí que o mecanismo de tratamento de exceções aparece..

Existem dois tipos de exceções que existem no Java - Exceção Verificada e Não Verificada. Neste artigo, discutiremos em detalhes o que está marcado e a exceção desmarcada e quando usá-los. Por fim, veremos a diferença entre os dois.

O que é exceção verificada em Java?

Essas são as exceções que são verificadas e tratadas no momento da compilação. Java define várias classes de exceção dentro do pacote padrão java.lang, e as exceções mais comuns são subclasses do tipo padrão Exceção de tempo de execução.

As exceções que ocorrem em áreas fora do controle imediato do programa são conhecidas como exceções verificadas. Se um método joga uma exceção verificada no momento da compilação que não pode lidar com ela mesma, ela deve lidar com a exceção em um pegar bloquear ou declarar a exceção usando o joga palavra-chave, caso contrário, ocorrerá um erro de compilação. O compilador examina o tipo de objeto de exceção para cada lançar e, se aparecer marcada, o compilador verifica o código-fonte para garantir que a exceção seja tratada no método em que é lançada ou declarada, para que possa ser tratada ainda mais.

Todas as exceções descritas por Exceção quais são suas subclasses diretas, exceto Exceção de tempo de execução são chamados de exceções verificadas. Agora, quando usar a exceção marcada? Você pode optar por usar uma exceção marcada quando souber exatamente o que fazer quando um Exceção ocorre ou quando as chances de falha são maiores. Alguns exemplos de exceções verificadas na biblioteca Java incluem IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, etc..

O que é exceção não verificada em Java?

Essas são as exceções que não são verificadas no momento da compilação. Exceção não verificada representa uma condição que geralmente reflete erros na lógica de um programa e que não podem ser recuperados no tempo de execução.

Em termos simples, a exceção desmarcada é uma exceção que não é capturada em um try-catch quadra. Eles não precisam ser capturados explicitamente. De fato, quando ocorre uma exceção desmarcada, o Java lida com a exceção automaticamente. As exceções não verificadas ocorrem principalmente devido a erros de programação, como ao acessar o elemento fora de uma ligação de matriz ou ao método de acesso a um objeto nulo. Em Java, todas as exceções em jogáveis ​​são exceções verificadas, enquanto as exceções que são subclasses diretas de Erro e Exceção de tempo de execução são exceções desmarcadas.

A melhor parte de uma exceção desmarcada é que ela não reduz a legibilidade do código enquanto mantém o código do cliente limpo. Alguns exemplos de exceções não verificadas incluem ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, ArrayStoreException, SecurityException, etc..

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

Definição de Exceções Marcadas e Desmarcadas

Exceção marcada e não verificada são os dois tipos de exceção existentes em Java para garantir o fluxo normal do aplicativo. Ambos têm o mesmo objetivo de lidar com exceções em Java e, embora não haja diferença na funcionalidade, não existe uma regra única para determinar quando usar a verificação marcada e quando usar a exceção não verificada. Exceção verificada é uma exceção que é verificada no tempo de compilação, enquanto Exceção não verificada é aquela que não é verificada no tempo de compilação.

Noções básicas de exceção verificada e não verificada

Uma exceção verificada se refere aos cenários inválidos que ocorrem fora do controle imediato do programa, enquanto a exceção não verificada se refere aos erros no programa ou erros na lógica do programa que não podem ser recuperados no tempo de execução.

Manipulação de exceção

Se um método lança uma exceção verificada, o compilador verificará se o método está manipulando essa exceção usando o bloco try-catch ou especificará a exceção usando a palavra-chave throws. Se o método não fornecer o código de manipulação, ele mostrará um erro de compilação. Pelo contrário, o programa compila muito bem porque o compilador não verifica exceções não verificadas no momento da compilação.

Causa da exceção verificada e não verificada

Exceções que não são derivadas de RunTimeException são frequentemente tratadas, enquanto as exceções ocorrem em tempo de execução raramente são tratadas. Uma exceção verificada ocorre quando as chances de falha são muito altas. A exceção não verificada, por outro lado, ocorre principalmente devido a erros de programação. Todas as exceções nas classes RuntimeException e Error são exceções desmarcadas, enquanto todo o resto sob jogável são exceções verificadas.

Exemplos de exceção marcada e desmarcada

Alguns exemplos de exceções verificadas são IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException e mais. Exemplos de exceções não verificadas incluem NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, etc..

Exceção marcada vs. Desmarcada: gráfico de comparação

Resumo da exceção verificada e não verificada

Exceção marcada e não verificada são os dois tipos de exceção existentes em Java. Embora a funcionalidade seja a mesma para as duas exceções, elas têm seu quinhão de diferenças. A principal diferença entre as exceções verificadas e não verificadas é que a primeira é verificada pelo compilador, enquanto a segunda escapa ao aviso do compilador. Exceções que são verificadas e tratadas em tempo de compilação são exceções verificadas, enquanto exceções que não são verificadas e manipuladas em tempo de compilação são exceções não verificadas. Este artigo explica o que está marcado e qual é a exceção desmarcada, quando usá-los e explica a diferença entre os dois.