Excepciones en Java

Hola a todos, hoy os explicare como podemos tratar las excepciones en Java.

Una excepción es un evento producido en la ejecución de un programa que interrumpe el flujo normal de instrucciones. Por ejemplo, si manejamos ficheros, es posible que el fichero no exista en la ruta indicada, la sintaxis es correcta, pero en tiempo de ejecución no puede realizar la acción.

La clase encargada controlar excepciones esta en java.io.

Para capturar una excepción, debemos usar try-catch, esta es su sintaxis:

La idea es que cuando el código que esta dentro del bloque try produce una excepción, se interrumpe el flujo y pasa al bloque catch, aquí ya hacemos las operaciones que queramos, normalmente se suelen escribir un mensaje informando del tipo de error, vamos a ver un ejemplo:

Si no se produce ninguna excepción, no pasara al bloque catch.

Podemos poner más de un bloque catch para manejar distintas excepciones mas concretas. Pondremos primero, las excepciones mas especificas a las mas generales. Por ejemplo:

También tenemos podemos añadir un bloque finally después del bloque catch, este nos permitirá que se produzca o no una excepción se ejecute lo que haya en este bloque. Veamos un ejemplo:

Si realizas en el bloque finally alguna accione que pueda producir una excepción, deberás insertar un try-catch.

¿Pero que pasa cuando se produce un excepción en un método que es llamado desde un try-catch de otro método o del main? Podemos «lanzar» las excepciones que se produzcan a un nivel superior, es decir, donde son llamados. Esto se indica con la palabra throws clase_maneja_excepciones. La mayor ventaja es que no tenemos que controlar las excepciones en ese método.

Veamos un ejemplo:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539