English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java中异常与错误之间的区别

Le eccezioni e gli errori sono sottoclasse del tipo Throwable. Questo errore indica problemi principali causati dalla mancanza di risorse di sistema, i quali i nostri applicativi non dovrebbero catturare. Alcuni esempi di errori sono gli errori di crash del sistema e gli errori di memoria insufficiente. Gli errori si verificano principalmente durante l'esecuzione, poiché appartengono ai tipi non verificati. 

Le eccezioni sono problemi che possono verificarsi durante l'esecuzione e la compilazione. Soprattutto accade nel codice scritto dagli sviluppatori. Le eccezioni sono classificate in due tipi, ad esempio le eccezioni controllate e le eccezioni non controllate. 

NumeroChiaveErroreEccezione
1
Tipo 
Classificato come tipo non controllato 
Classificato come controllato e non controllato 
2
Pacchetto 
Appartiene a java.lang.error 
Appartiene a java.lang.Exception 
3
Ripristabile/Non ripristabile
Non è ripristabile
È ripristabile
4 
 Non può accadere durante la compilazione 
Può accadere contemporaneamente durante l'esecuzione e la compilazione 
5
Esempio
OutOfMemoryError, IOError 
NullPointerException, SqlException 

Esempio di errore

public class ErrorExample {
   public static void main(String[] args){
      recursiveMethod(10)
   }
   public static void recursiveMethod(int i){
      while(i != 0){
         i = i + 1;
         recursiveMethod(i);
      }
   }
}

Risultato di output

Exception in thread "main" java.lang.StackOverflowError
   at ErrorExample.ErrorExample(Main.java:42)

Esempio di eccezione

public class ExceptionExample {
   public static void main(String[] args){
      int x = 100;
      int y = 0;
      int z = x / y;
   }
}

Risultato di output

java.lang.ArithmeticException: / by zero
   at ExceptionExample.main(ExceptionExample.java:7)