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

La diferencia entre excepción y error en Java

Las excepciones y los errores son subclases de la clase Throwable. Este error indica problemas causados principalmente por la falta de recursos del sistema, nuestros programas no deben capturar este tipo de problemas. Algunos ejemplos de errores son errores de colapso del sistema y errores de falta de memoria. Los errores ocurren principalmente en tiempo de ejecución, porque pertenecen al tipo no revisado. 

Las excepciones pueden ocurrir en tiempo de ejecución y tiempo de compilación. Principalmente ocurren en el código escrito por el desarrollador. Las excepciones se dividen en dos tipos, por ejemplo, las excepciones revisadas y las excepciones no revisadas. 

NúmeroClaveErrorExcepción
1
Tipo 
Clasificado como tipo no revisado 
Clasificado como revisado y no revisado 
2
Paquete 
Pertenece a java.lang.error 
Pertenece a java.lang.Exception 
3
Recuperable/Irrecuperable
Es irreparable
Es recuperable
4 
 No puede ocurrir en tiempo de compilación 
Puede ocurrir tanto en tiempo de ejecución como en tiempo de compilación 
5
Ejemplo
OutOfMemoryError, IOError 
NullPointerException, SqlException 

Ejemplo de error

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);
      }
   }
}

Resultado de salida

Exception en el hilo "main" java.lang.StackOverflowError
   at ErrorExample.ErrorExample(Main.java:42)

Ejemplo de excepción

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

Resultado de salida

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