jueves, 26 de enero de 2012

Excepciones

Las excepciones se generan en la máquina virtual de Java, como respuesta a una condición inesperada, o en el código, como resultado de la ejecución de una instrucción throw.

Una excepción puede ocurrir por dos razones:
  1. Porque se produzca un error en tiempo de ejecución en la máquina virtual de Java: en tal caso, se crea una instancia de un objeto excepción (cualquier objeto que descienda de la clase java.lang.Throwable). A estas excepciones se les denomina excepciones no verificadas.
  2. Porque un método genere explícitamente un objeto que descienda de la clase Throwable (generable): los objetos generables se generan mediante la palabra clave throw. Las excepciones generadas de esta forma se denominan excepciones verificadas.
Vamos a explicar más detalladamente los tipos de excepciones:
  • Excepciones no verificadas-->se generan por errores en tiempo de ejecución. Son no verificadas ya que el compilador no es capaz de determinar si el código gestiona la excepción debido a que un error en tiempo de ejecución puede ocurrir en cualquier parte de un programa y por multitud de razones.Las clases de excepción que descienden de las clases RuntimeException y Error son excepciones no verificadas.
  • Excepciones verificadas -->Las excepciones son verificadas por dos razones:
  1. El compilador comprueba durante la compilación que el método incluye código para generar una excepción de tipo generable (las excepciones no verificadas no necesitan que las declaremos).
  2. El compilador obliga a que el código que llame a uno de estos métodos incluya la llamada en una instrucción try-catch y que proporcione un bloque catch para capturar la excepción.
Las clases de excepción que descienden de las clases Throwable (Error y Exception) son excepciones verificadas.