Excepciones en java

Solo disponible en BuenasTareas
  • Páginas : 5 (1026 palabras )
  • Descarga(s) : 4
  • Publicado : 27 de mayo de 2010
Leer documento completo
Vista previa del texto
Excepciones Una Excepción es u evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal del programa. Cuando una excepción ocurre en un método, este método genera un objeto de tipo excepción, a este proceso se le llama lanzar una excepción. Después de que se lanza la excepción el sistema trata de encontrar “algo” con lo cual le indiquen como manejar el objetoexcepción. Ese “algo” es una lista de métodos o la “pila de llamadas”, que contiene el código necesario para manejar la excepción. Existen tres componentes para manejar las excepciones, los bloques try, catch y finally. El bloque try. El primer paso para manejar una excepción es poner el código que puede generarla dentro de un bloque try, como se muestra a continuación. try{ .. //código que puede generaruna excepción } //Bloques catch y finally Dentro de try se coloca todo el código que puede generar una excepción. Cada línea de código que genera una excepción puede ir en un bloque try independiente o todas juntas en un solo bloque. Cuando ocurre una excepción en el bloque try, este es cachada por el manejador de excepciones asociada a ella. Para hacer la asociación del manejador con el bloque try,se utiliza uno o más bloques catch después del bloque try. try{ }catch(ExceptionType nombre){ }catch(ExceptionType nombre){ } //Bloques finally

Cada bloque catch contiene el código que se ejecuta cuando se produce la excepción.

En este bloque tendremos que asegurarnos de colocar código que no genere excepciones. Se pueden colocar sentencias catch sucesivas, cada una controlando unaexcepción diferente. No debería intentarse capturar todas las excepciones con una sola cláusula, como esta: catch( Excepcion e ) { ... Esto representaría un uso demasiado general, podrían llegar muchas más excepciones de las esperadas. En este caso es mejor dejar que la excepción se propague hacia arriba y dar un mensaje de error al usuario. La cláusula catch comprueba los argumentos en el mismo orden enque aparezcan en el programa. Si hay alguno que coincida, se ejecuta el bloque. finally Es el bloque de código que se ejecuta siempre, haya o no excepción. Hay una cierta controversia entre su utilidad, pero, por ejemplo, podría servir para hacer un log o un seguimiento de lo que está pasando, porque como se ejecuta siempre puede dejarnos grabado si se producen excepciones y nos hemos recuperadode ellas o no. Este bloque finally puede ser útil cuando no hay ninguna excepción. Es un trozo de código que se ejecuta independientemente de lo que se haga en el bloque try. Cuando vamos a tratar una excepción, se nos plantea el problema de qué acciones vamos a tomar. En la mayoría de los casos, bastará con presentar una indicación de error al usuario y un mensaje avisándolo de que se ha producidoun error y que decida si quiere o no continuar con la ejecución del programa. Mediante el uso de excepciones para manejar errores, los programas Java tienen las siguientes ventajas frente a las técnicas de manejo de errores tradicionales.
1.

Separar el Manejo de Errores del Código "Normal" Las excepciones le permiten escribir el flujo principal de su código y tratar los casos excepcionales enotro lugar.

2.

Propagar los Errores sobre la Pila de Llamadas El sistema de ejecución Java busca hacia atrás en la pila de llamadas para encontrar cualquier método que esté interesado en manejar una excepción particular. Un método Java puede "esquivar" cualquier excepción lanzada dentro de él, por lo tanto permite a los métodos que están por encima de él en la pila de llamadas podercapturarlo. Sólo los métodos interesados en el error deben preocuparse de detectarlo.

3.

Agrupar los Tipos de Errores y la Diferenciación de éstos Como todas las excepciones lanzadas dentro de los programas Java son objetos de

primera clase, agrupar o categorizar las excepciones es una salida natural de las clases y las superclases. Las excepciones Java deben ser ejemplares de la clase...
tracking img