Qual é a diferença entre erros e exceções? [duplicado]

possível duplicado:
diferenças entre excepção e erro

Como posso diferenciar entre erros e exceções em Java?

Author: Community, 2011-04-28

4 answers

Um erro indica problemas graves. que um pedido razoável deve não tentar apanhar."

Enquanto

Uma excepção " indica as condições que um pedido razoável pode quero apanhar."

O erro juntamente com RuntimeException e as suas subclasses são unchecked excepções. Todas as outras classes de excepção são checked excepções.

As excepções verificadas são geralmente aquelas a partir das quais um programa pode recuperar pode ser uma boa idéia para se recuperar de tais exceções programaticamente. Os exemplos incluem:FileNotFoundException, ParseException, etc. Espera-se que um programador verifique essas exceções usando o bloco try-catch ou atirá-lo de volta para o chamador

Por outro lado, temos excepções por controlar. Estas são as exceções que podem não acontecer se tudo estiver em ordem, mas elas acontecem. Os exemplos incluem:ArrayIndexOutOfBoundException, ClassCastException, etc. Muitas aplicações utilizarão try-catch ou throws cláusula para RuntimeExceptions e as suas subclasses but from the language perspective it is not required to do so. Note que a recuperação de um {[[0]} é geralmente possível, mas os tipos que desenharam a classe / exceção consideraram desnecessário para o programador Final verificar tais exceções.

Os erros também estão fora de controlo e o programador não é obrigado a fazer nada com estes. Na verdade, é uma má ideia usar uma cláusula try-catch para erros. Na maioria das vezes, a recuperação de um erro não é possível e o programa deve ser permitido terminar. Os exemplos incluem:OutOfMemoryError, StackOverflowError, etc.

Lembre-se que, embora os erros sejam excepções não verificadas, não devemos tentar lidar com eles, mas é correcto lidar com {[[9]}(também com excepções não verificadas) em código. As excepções verificadas devem ser tratadas pelo código.

 154
Author: Nirmal- thInk beYond, 2014-12-12 15:17:45

Error e {[1] } ambos estendem Throwable, mas principalmente {[[0]} é jogado pela JVM em um cenário que é fatal e não há nenhuma maneira para o programa de aplicação para se recuperar desse erro. Por exemplo OutOfMemoryError.

Embora mesmo a aplicação possa criar um Error mas não seja uma boa prática, em vez disso, as aplicações devem usar excepções verificadas para as condições recuperáveis e excepções de tempo de execução para erros de programação.

 16
Author: Jugal Shah, 2011-04-28 05:45:36

Erro é algo que na maioria das vezes você não consegue lidar com isso.

A excepção era para te dar uma oportunidade de fazeres alguma coisa com ela. como tentar outra coisa ou escrever no diário de bordo.
try{
  //connect to database 1
}
catch(DatabaseConnctionException err){
  //connect to database 2
  //write the err to log
}
 12
Author: fatnjazzy, 2011-04-28 06:43:16
Em geral, o erro é que ninguém pode controlar ou adivinhar quando ocorre.A exceção pode ser adivinhada e pode ser manuseada. Na excepção e erro Java são sub-classe de Throwable.It é diferenciado com base no controle do programa.Erro Como erro OutOfMemory que nenhum programador pode adivinhar e lidar it.It depende dinamicamente da configuração do architectire, OS e servidor.Onde como exceção programador pode lidar com ele e pode evitar o mau comportamento do aplicativo.Por exemplo, se o seu código é procurando por um arquivo que não está disponível, então IOException é jogado.Tais instâncias programador pode adivinhar e pode lidar com isso.
 4
Author: nicks, 2011-04-28 04:25:47