Example: bankruptcy

TEMA 5. EXCEPCIONES EN JAVA1 EXCEPCIONES DE …

TEMA 5. EXCEPCIONES EN JAVA .. 1 DEFINICI N DE EXCEPCIONES EN PROGRAMACI N .. 2 TIPOS DE EXCEPCIONES / ERRORES Y C MO 10 TRABAJANDO CON EXCEPCIONES : DECLARACI N, CONSTRUCCI N, LANZAMIENTO Y GESTI N DE EXCEPCIONES .. 14 PROPAGACI N DE EXCEPCIONES .. 15 CAPTURA Y GESTI N DE 18 CAPTURA, GESTI N Y PROPAGACI N DE EXCEPCIONES .. 21 C MO TRABAJAR CON EXCEPCIONES .. 22 PROGRAMACI N DE EXCEPCIONES EN JAVA. UTILIZACI N DE EXCEPCIONES DE LA LIBRER A Y DEFINICI N DE EXCEPCIONES PROPIAS 23 PROGRAMACI N DE EXCEPCIONES PROPIAS EN JAVA .. 23 UN EJEMPLO DESARROLLADO DE TRABAJO CON EXCEPCIONES DE LA API DE 26 1 TEMA 5.

trate la misma es lo que se conoce generalmente como manejo o gestión de la excepción. Las excepciones son una forma de intentar conseguir que, …

Tags:

  Excepciones

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of TEMA 5. EXCEPCIONES EN JAVA1 EXCEPCIONES DE …

1 TEMA 5. EXCEPCIONES EN JAVA .. 1 DEFINICI N DE EXCEPCIONES EN PROGRAMACI N .. 2 TIPOS DE EXCEPCIONES / ERRORES Y C MO 10 TRABAJANDO CON EXCEPCIONES : DECLARACI N, CONSTRUCCI N, LANZAMIENTO Y GESTI N DE EXCEPCIONES .. 14 PROPAGACI N DE EXCEPCIONES .. 15 CAPTURA Y GESTI N DE 18 CAPTURA, GESTI N Y PROPAGACI N DE EXCEPCIONES .. 21 C MO TRABAJAR CON EXCEPCIONES .. 22 PROGRAMACI N DE EXCEPCIONES EN JAVA. UTILIZACI N DE EXCEPCIONES DE LA LIBRER A Y DEFINICI N DE EXCEPCIONES PROPIAS 23 PROGRAMACI N DE EXCEPCIONES PROPIAS EN JAVA .. 23 UN EJEMPLO DESARROLLADO DE TRABAJO CON EXCEPCIONES DE LA API DE 26 1 TEMA 5.

2 EXCEPCIONES EN JAVA Introducci n: Las EXCEPCIONES son el medio que ofrecen algunos lenguajes de programaci n para tratar situaciones an malas que pueden suceder cuando ejecutamos un programa. Algunos casos de situaciones an malas que se pueden citar, son, por ejemplo, invocar a un m todo sobre un objeto null , intentar dividir un n mero por 0 , intentar abrir un fichero que no existe para leerlo, quedarnos sin memoria en la JVM al ejecutar (por ejemplo, debido a un bucle infinito), intentar crear un fichero en una carpeta en la que no hay permisos de escritura, tratar de recuperar informaci n de Internet cuando no se dispone de conexi n, o simplemente sufrir un apag n el ctrico al ejecutar nuestro c digo.

3 Como se puede observar en los ejemplos anteriores, las EXCEPCIONES no son inherentes a los lenguajes de POO, pero s que lo son a Java como lenguaje de programaci n (tambi n se pueden encontrar EXCEPCIONES en otros lenguajes como Ada, ML, Eiffel, Prolog, Ruby o el propio C++). Hay que tener en cuenta que muchos de los m todos de la propia librer a de Java hacen uso de EXCEPCIONES , e incluso los programas que hemos desarrollado hasta ahora nos han permitido observar algunas de ellas (como, por ejemplo, la muy com n NullPointerException). Por este motivo, cualquier programador en Java tiene que ser capaz de crear, lanzar y gestionar EXCEPCIONES de una forma adecuada.

4 C++ tambi n permite la programaci n con EXCEPCIONES , y se puede hacer uso de las mismas en c digo programado por los usuarios, pero en la propia librer a del lenguaje no son utilizadas y el uso de las mismas es completamente opcional, as que no profundizaremos en su estudio. El Tema estar dividido de la siguiente forma: en la Secci n introduciremos la noci n de excepci n en programaci n as como alguna de las consecuencias de su uso con respecto al flujo normal de los programas y alg n ejemplo sencillo de uso de las mismas. En la Secci n presentaremos algunos de los errores o EXCEPCIONES m s comunes de los que podemos encontrar en la librer a de Java.

5 En la Secci n veremos las distintas formas de gesti n y propagaci n de EXCEPCIONES que se nos ofrecen en Java, as como su sintaxis particular. Finalmente, en la Secci n incluiremos por una parte la forma de programar EXCEPCIONES propias en Java, y en segundo lugar un ejemplo un poco m s elaborado de programaci n con EXCEPCIONES en el lenguaje en el que entrar n en juego diversas librer as del mismo con sus propios m todos y EXCEPCIONES . DEFINICI N DE EXCEPCIONES EN PROGRAMACI N Definici n: una excepci n es una situaci n an mala que puede tener lugar cuando ejecutamos un determinado programa.

6 La forma en que el programador 2trate la misma es lo que se conoce generalmente como manejo o gesti n de la excepci n. Las EXCEPCIONES son una forma de intentar conseguir que, si un c digo fuente no se ejecuta de la forma prevista inicialmente, el programador sea capaz de controlar esa situaci n y decir c mo ha de responder el programa. Conviene destacar un malentendido muy com n sobre las EXCEPCIONES . Las EXCEPCIONES no sirven para corregir errores de programaci n. Por ejemplo, si un programa, durante su ejecuci n, no encuentra un determinado archivo, por medio de las EXCEPCIONES no vamos a conseguir que el archivo aparezca.

7 O si en un determinado programa intentamos acceder a una posici n de un array mayor que la longitud del mismo (o a una posici n negativa), las EXCEPCIONES no van a conseguir que dicha posici n del array exista. Las EXCEPCIONES servir n para (1) alertarnos de dicha situaci n y (2) dejarnos decidir el comportamiento de nuestro programa en dicho caso. Tambi n resultan de gran utilidad en la depuraci n de grandes proyectos, ya que permiten recuperar la traza de los errores f cilmente, evitando que tengamos que bucear en el c digo buscando potenciales errores.

8 En realidad, los resultados que podemos conseguir por medio del uso de EXCEPCIONES tambi n se pueden conseguir por medio de una detallada atenci n a los fallos que pueden surgir durante la ejecuci n de un programa. Trataremos de verlo con el siguiente ejemplo, en el que en primer lugar gestionaremos los potenciales errores por medio de m todos tradicionales y ya conocidos, para dejar luego paso al uso de EXCEPCIONES : Supongamos que queremos escribir un m todo auxiliar que devuelva la divisi n real de dos n meros reales (en Java), y que para lo mismo hacemos uso del operador de la librer a /.

9 Un primer c digo para dicho m todo podr a ser: public static double division_real (double dividendo, double divisor){ return (dividendo / divisor); } El c digo es correcto, y el resultado devuelto por el m todo se corresponde con la divisi n real de dos n meros reales. Por ejemplo, lo podemos comprobar con un sencillo ejemplo: public static void main (String [] args){ double x = ; double y = ; ("El resultado de la division real de " + x + " entre " + y + " es " + division_real (x, y)); } El resultado de compilar y ejecutar el anterior programa ser a: El resultado de la division real de entre es 3El m todo division_real(double, double): double est correctamente programado y produce la divisi n real de los dos argumentos que recibe.

10 Sin embargo, hay, al menos, una situaci n excepcional que no hemos tenido en cuenta al programar el mismo. Qu suceder a si al realizar la divisi n de ambos n meros el denominador de la misma fuese igual a cero? Lo comprobamos con el siguiente fragmento de c digo: public static void main (String [] args){ double x = ; double y = ; ("El resultado de la division real de " + x + " entre " + y + " es " + division_real (x, y)); } Al ejecutar la anterior operaci n se obtiene como resultado: El resultado de la division real de entre es Infinity Vemos que Java ha sido capaz de proporcionarnos una respuesta, en este caso Infinity , que se corresponde con el valor que Java asigna a las divisiones por cero (puedes comprobar en la existencia de constantes en Java representando los valores de m s y menos infinito, entre otras).


Related search queries