Las excepciones son situaciones anómalas que pueden ocurrir durante la ejecución de las aplicaciones, como por ejemplo, acceder a un posición de un vector fuera rango.
En algunos casos las excepciones no se podrán gestionar, por ejemplo los de la propia JVM, y en otros casos sí.
Java proporciona un mecanismo de gestión de excepciones en los casos en los que estemos obligados a gestionarlas. En caso de que no queramos gestionar algún tipo de excepción estaremos obligados a indicarlo explícitamente. No podremos compilar el código a menos que gestionemos la excepción, o indiquemos explícitamente que no lo queremos hacer.
La definición de excepciones propias se hace a través del mecanismo de extensión de clases, la Herencia.