Excepciones

  • Una excepción es un evento que altera el flujo del programa. Java tiene la superclase Throwable para todos los objetos que representan este tipo de eventos.
    libro_java_excepciones_1.png
  • Error significa que algo ha ido tan sumamente mal, que el programa no debería recuperarse de él. Como por ejemplo, si el disco ha desaparecido. Son condiciones anormales que raramente se dan.
  • Una excepción en tiempo de ejecución está definida por la clase RuntimeExcepcion y sus subclases. Las excepciones en tiempo de ejecución tienden a ser inesperadas, pero no necesariamente fatales. Se les llamada también excepciones no verificadas.
  • Una excepción verificada incluye Exception y todas sus subclases que no extiendan a RuntimeException. Las excepciones verificadas tienen a poder anticiparse.
  • Para las excepciones verificadas, Java tiene una regla llamada manejador, o regla de declaración. Para las excepciones verificadas, Java requiere que el código las maneje, o que se declaren en la firma del método.
    void vamosAFallar() throws Exception {
      throw new Exception();
    }
    • throw le dice a Java que se quiere lanzar una excepción. throws simplemente declara que el método puede lanzar una excepción
  • Cualquier código Java puede lanzar una excepción, incluido el código generado por el usuario. La palabra clave throw le dice a Java que se quiere que otra parte del código maneje la excepción. Al crear una excepción, se puede pasar un parámetro de tipo String con el mensaje, o se puede no pasar ningún parámetro para usar el comportamiento por defecto:
    • throw new Exception();
    • throw new Exception("Pues sí, ha fallado");
Tipo de excepción Cómo reconocer ¿Se permite que el programa la capture? ¿Se requiere que el programa la maneje o declare?
Excepción en tiempo de ejecución Subclase de RuntimeException No
Excepción verificada Subclase de Exception, pero no de RuntimeException
Error Subclase de Error No No
Throwable para todos los objetos que representan este tipo de eventos.
libro_java_excepciones_1.png
  • Error significa que algo ha ido tan sumamente mal, que el programa no debería recuperarse de él." data-share-imageurl="" style="position:fixed;bottom:0px;left:0px;">