Jerarquía de excepciones¶
Todas las excepciones lanzadas automáticamente en un programa Java son objetos de la clase Throwable
(Lanzable) o de alguna de sus clases derivadas. La clase Throwable
deriva directamente de Object y tiene dos clases derivadas directas: Error
y Exception
.
La API
1 Java es una interfaz de programación de aplicaciones provista por los creadores del lenguaje de programación Java, que da a los programadores los medios para desarrollar aplicaciones Java. Como el lenguaje Java es un lenguaje orientado a objetos, la API
provee de un conjunto de clases utilitarias para efectuar toda clase de tareas necesarias dentro de un programa. La API
Java está organizada en paquetes lógicos, donde cada paquete contiene un
conjunto de clases relacionadas semánticamente.

La clase Error
está relacionada con errores de la máquina virtual de Java. Generalmente estos errores no dependen del programador, por lo que no nos debemos preocupar por tratarlos, por ejemplo, OutOfMemoryError
, StackOverflowError
, errores de hardware, etc.
En la clase Exception
se encuentran las excepciones que se pueden lanzar en una aplicación. Tiene varias subclases, entre ellas:
RuntimeException
: son excepciones lanzadas durante la ejecución del programa. Por ejemplo:ArithmeticException
,NullPointerException
,ArrayIndexOutOfBoundsException
, etc. y pertenecen al paquetejava.lang
.IOException
: son excepciones lanzadas al ejecutar una operación de entrada-salida. Pertenecen al paquetejava.io
.ClassNotFoundException
: excepción lanzada cuando una aplicación intenta cargar una clase, pero no se encuentra el fichero.class
correspondiente.
Métodos de la clase Throwable
¶
Throwable
es la clase de la que derivan todos los demás tipos de excepciones. Tiene los siguientes constructores:
Throwable()
genera un objeto de la clase con un mensaje de error nulo.Throwable(String mensaje)
genera un objeto de la clase con un mensaje.
Los métodos de Throwable
están disponibles en todas las clases que derivan de ella. Algunos de estos métodos son:
- String
getMessage()
: Devuelve el mensaje que se asoció al objeto cuando se creó. - String
toString()
: Devuelve una descripción del objeto. Suele indicar el nombre de la clase y el text degetMessage()
. - void
printStackTrace()
. Es el método invocado por la máquina virtual cuando se produce una excepción. Aparece un listado con toda la pila de llamadas a métodos hasta que se llega al que provocó la excepción.
Actividad¶
- AC801 (RA3 / CE3d CE3f CE3i / IC1 / 3p). Dado el siguiente programa en Java indica cada uno de los errores que aparecerán como resultado de su compilación y su ejecución.
import java.util.Scanner; public class Ejerc1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] array = new int[5]; int buscado; array[0] = 15; array[1] = 6; array[2] = 8; array[3] = 9; array[4] = 12; System.out.println("Introduce el número a buscar en el array: "); buscado = sc.nextInt(); for (int i = 0; i < 6; i++) { if (buscado == array[i]) { System.out.println("El número buscado está en la posición: " + i); } } } }
- Introduce el número a buscar en el array: 5.4
- Corrige la excepción
-
API, por sus siglas del inglés: Application Programming Interface ↩