You are on page 1of 1

La IOException es una checked exception, por lo cual, en caso de ser declarada

tiene que ser manejada dentro del método. Existen dos modos de manejar una
excepción: Arrojándola o tratándola. Cuando arrojas una excepción (usando la
palabra reservada throws) quiere decir que en el método donde la arrojas no es
necesario darle un tratamiento en específico, sin embargo, la excepción podrá ser
arrojada hacia algún trozo de código que mande llamar a este método. Por otro
lado, el tratamiento de una excepción, realizado por medio de bloques try-catch lo
que hace es que, si se lanza la excepción, el programa decide qué debe de hacer,
cómo manejarla, cómo evitar que el programa caiga en un estado de
inconsistencia.

Una vez visto esto, viene lo bueno. Cuando estás declarando un método y
declaras que dicho método arrojará una excepción, lo haces de este modo:

static void metodo() throws IOException { } //puede arrojar cualquier excepción,


pero en este caso es parecido a tu ejemplo

Cuando este método sea llamado desde otro método, este último tendrá ya sea,
que manejar la excepción por medio de un bloque try-catch o volverla a arrojar.
Imagina que tu método es llamado por el método main. Entonces tienes dos
opciones.

La primera es:

public static void main(String[] args) throws IOException {


metodo();
}

La segunda opción es:

public static void main(String[] args) {


try {
metodo();
} catch (IOException e) {
System.out.println ( "Manejo de la excepción!" );
}
}

You might also like