Muy buen curso de java en espanol

Page 65

Capítulo 7:Excepciones

Java

try { // codigo que puede lanzar una execpcion en particular } catch (MiExcepcion e) { // codigo a ejecutar si se lanza una excepcion // MiExcepcion } catch (Exception e) { // codigo a ejecutar si se lanza una excepcion generica // Exception }

7.2.2

Sentencia finally

La sentencia finally define un bloque de código que se ejecuta siempre, independientemente de si una excepción fue capturada o no. try { Sytem.out.println(“Intentamos aprobar el examen de Java”); examen.aprobar(yo); } catch (SuspenderException e) { System.out.println(“Vaya, algo no ha ido bien...”+e); } finally { System.out.println(“Haya aprobado o no, los profes son geniales”); }

En el ejemplo anterior intentamos aprobar un examen, en caso de no conseguirlo se muestra un mensaje indicándolo (fijaos que se puede imprimir la excepción concatenándola ya que como clase que es dispone de su método toString()), pero en cualquier caso alabamos a los profesores porque son excepcionales. El código entre llaves de la sentencia try se llama código protegido. La única situación en la que la sentencia finally puede no ejecutarse es si se llama al método System.exit(), que termina con la ejecución del programa, dentro del código protegido. Esto implica que el flujo normal de ejecución del código se puede desviar del orden secuencial. Por ejemplo, si existiese una sentencia return dentro del código protegido, el bloque finally se ejecutaría antes que la sentencia return. En caso de que no hubiese ninguna alteración del flujo de ejecución, tras el código del bloque finally se ejecutaría lo que hubiese después.

- 63 -


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.