Excepciones

Solo disponible en BuenasTareas
  • Páginas : 6 (1396 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de febrero de 2011
Leer documento completo
Vista previa del texto
Excepciones

Las excepciones son casos anormales que surgen en ciertas secuencias de código durante la ejecución, el compilador Java puede revisar la coherencia de los tipos, las funciones, los operadores y la sintaxis general pero definitivamente no puede revisar todas las posibilidades que casi siempre también incluyen algún error. Tanto el compilador de Java como su intérprete pueden generarexcepciones. Cuando se da una excepción en tiempo de ejecución el intérprete Java se ocupa de "lanzarla" y si el programador no se encargó de "atraparla" que equivalentemente es lidiar con ella, entonces el programa se detiene. Una excepción es lanzada cuando: 1) El intérprete Java la genera en base a su lista predeterminada de excepciones (objetos tipo Exception) ó 2) cuando creamos nuestraspropias excepciones que pueden llegar a ocurrir y nosotros las lanzamos explícitamente bajo ciertas condiciones. Atrapar una excepción sería el equivalente de tratar el problema para su corrección. Este tema es muy sencillo porque siempre que se genere una excepción podemos hacer una de dos cosas:
1. No atraparla (bajo nuestro propio riesgo)
2. Atraparla y manejarla
1. Excepciones no atrapadasEste es un ejemplo de una aplicación sencilla que con toda intención genera una excepción aritmética y una vez generada ni se preocupa por ella, es decir: no la atrapa:
import java.io.*;
public class divisionCero {
   public static void main( String args[] ) {
        int a = 0;
        int b = 5;
        int resultado = b / a;
        System.out.println( "Resultado = " + resultado );
   }}
La salida de este programa (desde la línea de comandos) es:
[pic]
El programa anterior se compila correctamente, sin embargo al ejecutarlo ocurre un problema. De matemáticas sabemos que un intento de división entre cero siempre esta prohibido porque es una indeterminación, en este caso el intérprete java se encargó automáticamente de generar y lanzar la excepción en tiempo de ejecución (consu lista de Excepciones predeterminadas), el programa se detiene a partir del punto en el que se generó el problema, por eso no aparece el resultado de la división, después el intérprete muestra algo llamado "trayecto de pila" que es algo así como la trayectoria que siguió la excepción desde que se lanzó, es decir los métodos o las clases que fue recorriendo desde que se originó, primero se muestrael tipo de excepción: ArithmeticException y después muestra el problema: / by zero ó intento de división entre cero, finalmente señala el lugar exacto en donde se generó la excepción: en la clase divisionCero en su método main y en la línea 8 específicamente. En este caso la excepción Aritmética ya esta creada de manera predeterminada por eso al menos se lanza apropiadamente, sin embargo esteejemplo no la captura (o sea, que solo se exhibe pero que realmente no se corrige el problema, solo provoca que se muestre), el intérprete Java tiene muchísimas excepciones que puede lanzar si se encuentra algún problema, sus nombres generalmente estarán muy de acuerdo con la dificultad hallada como en este caso: una excepción aritmética, puedes buscar y consultar muchas excepciones y su descripciónrespectiva en la Java API. 
2. Excepciones atrapadas y manejadas
Como ya dije una cosa es generar una excepción y otra es capturarla, esto último implica que corregiremos el problema, la sentencia try-catch sirve para esto, la sintaxis de un try-catch es la siguiente:
try {
      //Sección de código a intentar ejecutar y que posiblemente podría generar una excepción
} catch ( TipoDeExcepcionproblemita ) {
    //Atrapar la excepción y tomar las medidas necesarias para corregir el problema
}
Nota: try viene de "intentar" o "probar" y catch de "atrapar" o "capturar".
Entonces dentro del try se engloba la sección de código que podría generar la excepción y el catch se encarga de atraparla (la identifica y si coincide con el nombre de excepción, la atrapa) y además para intentar...
tracking img