Excepciones en java

Solo disponible en BuenasTareas
  • Páginas : 5 (1071 palabras )
  • Descarga(s) : 24
  • Publicado : 18 de julio de 2010
Leer documento completo
Vista previa del texto
Las excepciones
Los programadores de cualquier lenguaje se esfuerzan por escribir programas libres de errores, sin embargo, es muy difícil que los programas reales se vean libres de ellos. En Java las situaciones que pueden provocar un fallo en el programa se denominan excepciones.
Java lanza una excepción en respuesta a una situación poco usual. El programador también puede lanzar sus propiasexcepciones. Las excepciones en Java son objetos de clases derivadas de la clase base Exception. Existen también los errores internos que son objetos de la clase Error que no estudiaremos. Ambas clases Error y Exception son clases derivadas de la clase base Throwable.
Existe toda una jerarquía de clases derivada de la clase base Exception. Estas clases derivadas se ubican en dos gruposprincipales:
Las excepciones en tiempo de ejecución ocurren cuando el programador no ha tenido cuidado al escribir su código. Por ejemplo, cuando se sobrepasa la dimensión de un array se lanza una excepción ArrayIndexOutOfBounds. Cuando se hace uso de una referencia a un objeto que no ha sido creado se lanza la excepción NullPointerException. Estas excepciones le indican al programador que tipos de fallostiene el programa y que debe arreglarlo antes de proseguir.
El segundo grupo de excepciones, es el más interesante, ya que indican que ha sucedido algo inesperado o fuera de control.
La clase String, tiene una función que convierte un string en un número. Esta función es muy usuada cuando creamos applets. Introducimos el número en un control de edición, se obtiene el texto y se guarda en unstring. Luego, se convierte el string en número entero mediante la función estática Integer.parseInt, y finalmente, usamos dicho número.
String str=" 12 ";
int numero=Integer.parseInt(str);

Si se introducen caracteres no numéricos, o no se quitan los espacios en blanco al principio y al final del string, mediante la función trim, se lanza una excepción NumberFormatException.AppAccelerator(tm) 1.1.034 for Java (JDK 1.1), x86 version.
Copyright (c) 1998 Borland International. All Rights Reserved.

java.lang.NumberFormatException: 12
        at java.lang.Integer.parseInt(Compiled Code)
        at java.lang.Integer.parseInt(Integer.java:390)
        at excepcion.ExcepcionApp.main(ExcepcionApp.java:8)

Para ver este texto, se selecciona elelemento del menú del IDE Run/Parameters. En el cuadro de diálogo que aparece activar el botón de radio Set run output to Execution Log. Luego, se corre la aplicación Run/Run. Se selecciona el elemento del menú View/Execution Log, para que se muestre en una ventana la salida del programa.  Para restaurar la salida a la consola, la ventana DOS, se selecciona de nuevo Run/Parematers. En el cuadro dediálogo que aparece, se activa el botón de radio Set run output to Console window.
El mensaje que aparece en la ventana nos indica el tipo de excepción NumberFormatException, la función que la ha lanzado Integer.parseInt, que se llama dentro de main.

Objeto no inicializado

Habitualmente, cuando llamanos desde un objeto no inicializado, a una función miembro.
public static void main(String[]args) {
String str;
str.length();
//...
El compilador se queja con el siguiente mensaje "variable str might not have been initilized". En otras ocasiones, se lanza una excepción del tipo NulPointerException. Fijarse que en la porción de código que sigue, grafico es una variable de instancia que es inicializada por defecto a null.
class MiCanvas....{
Grafico grafico;
public voidpaint(...){
grafico.dibuja();
//...
Como vemos en la porción de código, si al llamarse a la función paint, el objeto grafico no ha sido inicializado con el valor devuelto por new al crear un objeto de la clase Grafico o de alguna de sus clases derivadas, se lanza la excepción NullPointerException apareciendo en la consola el siguiente texto.
Exception occurred during event dispatching:...
tracking img