Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 Ing. Marcelo Parisholon sw 12 Manejo Básico de Excepciones 2 Ing. Marcelo Parisholon sw Objetivos Al finalizar la lección, el estudiante debe poder: ● Definir Excepciones ● Manejar Excepciontes utilizando un bloque try-catch-finally 3 Ing. Marcelo Parisholon sw Excepciones ● Una Excepción – Es un evento que interrumple el normal procesamiento del flujo del programa. Este evento es normalmente un cierto error de algún tipo. – Causa que nuestro programa termine anormalmente. 4 Ing. Marcelo Parisholon sw Ejemplos ● Algunos ejemplos de excepciones: – ArrayIndexOutOfBounds, que ocurre si se intenta acceder a un elemento que no existe en un arreglo. – NumberFormatException, que ocurre cuando intentamos pasar como parametro al metodo Integer.parseInt un valor no-numerico. 5 Ing. Marcelo Parisholon sw Manejando Excepciones ● Para manejar excepciones en Java utilizamos el bloque try- catch-finally. Lo que haremos en nuestros programas es colocar las sentencias que posiblemente generan excepciones dentro de este bloque. 6 Ing. Marcelo Parisholon sw Bloque try-catch-finally ● La forma general de un bloque try-catch-finally es, try{ //escribir las sentencias que pueden generar //excepciones dentro del bloque } catch( <Tipo de Excepcion> <nombreVariable> ){ //escribir las acciones a seguir si una excepcion //de este tipo ocurre } . . . catch( <Tipo de Excepcion> <nombreVariable> ){ //escribir las acciones a seguir si una excepcion //de este tipo ocurre finally{ //agregar mas codigo de limpieza aqui } 7 Ing. Marcelo Parisholon sw Bloque try-catch-finally ● Aspectos Claves acerca de la sintaxis de la contrucción de try-catch-finally : – La notación del bloque es obligatoria ({ .. } ) – Por cada bloque try, puede haber uno o mas bloques catch, pero solo un bloque finally. – Los bloques catch y finally deben aparecer siempre con un bloque try, y en ese orden. – Un bloque try debe estar seguido por al menos un bloque catch o un bloque finally , o ambos. – Cada bloque catch define un manejador de excepción. El encabezado de un bloque catch toma exactamente un argumento, el cual es la excepción a tratar. La excepción debe ser de la clase Throwable o alguna de sus subclases. 8 Ing. Marcelo Parisholon sw Flujo de Programa 9 Ing. Marcelo Parisholon sw Ejemplo public class EjemploExcepcion{ public static void main( String[] args ){ try{ System.out.println( args[1] ); } catch( ArrayIndexOutOfBoundsException exp ){ System.out.println("Exception atrapada!"); } } } 10 Ing. Marcelo Parisholon sw Jerarquia Throwable Throwable ExceptionError IOException RuntimeException .. No comprobada comprobada .. .. .. 11 Ing. Marcelo Parisholon sw Información disponible en Class Throwable ● getMessage(): retorna un String con el mensaje descriptivo de la excepción presentada. ● printStackTrace(): muestra por la consola la pila de invocaciones a metodos que derivaron en la excepción. 12 Ing. Marcelo Parisholon sw Metodos que pueden presentar Excepciones public final class Integer extends Number implements Comparable .... public static int parseInt (String s) throws NumberFormatException ; .... La palabra reservada thows indica en la declaracion de un metodo que puede generar una excepcion que debe ser tratada por cualquier codigo que lo invoque RuntimeException IlegalArgumentException NumberFormatException
Compartir