Diferença entre erro e exceção em Java

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 6 Poderia 2024
Anonim
Diferença entre erro e exceção em Java - Tecnologia
Diferença entre erro e exceção em Java - Tecnologia

Contente


"Jogável" atua como a raiz da hierarquia de erros e exceções de Java. "Erro" é uma condição crítica que não pode ser tratada pelo código do programa. "Exceção" é a situação excepcional que pode ser tratada pelo código do programa. A diferença significativa entre erro e exceção é que um erro é causado devido à falta de recursos do sistema e uma exceção é causado por causa do seu código. Vamos estudar outras diferenças entre erro e exceção, juntamente com um gráfico de comparação.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoErroExceção
BasicUm erro é causado devido à falta de recursos do sistema.Uma exceção é causada por causa do código.
RecuperaçãoUm erro é irrecuperável.Uma exceção é recuperável.
Palavras-chaveNão há como lidar com um erro pelo código do programa.As exceções são tratadas usando três palavras-chave "try", "catch" e "throw".
Consequências
Quando o erro for detectado, o programa será encerrado de forma anormal.Como uma exceção é detectada, ela é lançada e capturada pelas palavras-chave "throw" e "catch" correspondentemente.
Tipos Os erros são classificados como do tipo desmarcado.As exceções são classificadas como marcadas ou desmarcadas.
Pacote Em Java, os erros são definidos no pacote "java.lang.Error".Em Java, as exceções são definidas em "java.lang.Exception".
ExemploOutOfMemory, StackOverFlow.Exceções verificadas: NoSuchMethod, ClassNotFound.
Exceções não verificadas: NullPointer, IndexOutOfBounds.


Definição de Erro

Erro”É uma subclasse da classe incorporada“ Throwable ”. Erros são as condições críticas que ocorrem devido à falta de recursos do sistema e não podem ser manipulados pelo código do programa. Os erros não podem ser recuperados por qualquer meio, porque não podem ser criados, lançados, capturados ou respondidos. Os erros são causados ​​devido à falha catastrófica que geralmente não pode ser tratada pelo seu programa.

Os erros são sempre do tipo desmarcado, pois o compilador não tem nenhum conhecimento sobre sua ocorrência. Os erros sempre ocorrem no ambiente de tempo de execução. O erro pode ser explicado com a ajuda de um exemplo, o programa tem um erro de estouro de pilha, erro de falta de memória ou erro de falha do sistema; esse tipo de erro ocorre devido ao sistema. O código não é responsável por esses erros. A conseqüência da ocorrência do erro é que o programa é finalizado de forma anormal.


Definição de exceção

"Exceção" também é uma subclasse da classe incorporada "Throwable". Exceções são as condições excepcionais que ocorrem em um ambiente de tempo de execução. Na maioria das vezes, as exceções são causadas devido ao código do nosso programa, mas as exceções podem ser tratadas pelo próprio programa, pois as exceções são recuperáveis. As exceções são tratadas usando três palavras-chave “try”, “catch”, “throw”. A sintaxe de escrever uma exceção é:

tente {// escreva seu código aqui} Catch (tipo de exceção) {// escreva seu código aqui}

No código acima, o código escrito no bloco try é o código que você deseja monitorar para a exceção. Se a exceção ocorrer em um bloco try, ela será lançada usando a palavra-chave "throw". A exceção lançada pode ser capturada pelo bloco "catch" do código acima. "Tipo de exceção" é o tipo da exceção que ocorreu.

Em palavras simples, podemos dizer que os erros ocorridos devido ao código inadequado são chamados de exceções. Por exemplo, se uma classe solicitada não for encontrada ou um método solicitado não for encontrado. Esses tipos de exceções são devidos ao código no programa; o sistema não é responsável por esses tipos de exceções. As exceções são classificadas como “marcada” e “desmarcada”. Exceções não verificadas não têm conhecimento do compilador, pois ocorrem durante o tempo de execução, enquanto o compilador tem conhecimento sobre as exceções verificadas, pois são conhecidas pelo compilador durante o tempo de compilação.

  1. O erro ocorre apenas quando os recursos do sistema são deficientes; uma exceção é causada se um código tiver algum problema.
  2. Um erro nunca pode ser recuperado, enquanto que uma exceção pode ser recuperada preparando o código para manipular a exceção.
  3. Um erro nunca pode ser tratado, mas uma exceção pode ser tratada pelo código se o código que lança uma exceção for gravado dentro de um bloco try and catch.
  4. Se ocorreu um erro, o programa será encerrado de forma anormal. Por outro lado, se a exceção ocorrer, o programa lançará uma exceção e será tratado usando o bloco try and catch.
  5. Os erros são do tipo desmarcado, ou seja, os erros não são do conhecimento dos compiladores, enquanto uma exceção é classificada como verificada e desmarcada.
  6. Os erros são definidos no pacote java.lang.Error, enquanto uma exceção é definida java.lang.Exception.

Conclusão:

Exceções são o resultado de erros cometidos na codificação do programa e os erros são o resultado do mau funcionamento do sistema