CISIC-FICA Nombre: Xavier Inuca GESTIN DE EXCEPCIONES Y ERRORES B. Tipos de excepciones
Existen varios tipos fundamentales de excepciones:
Error: Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas. Exception: Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecucin. RuntimeException: Excepciones que se dan durante la ejecucin del programa.
Imagen 5: Herencia de excepciones Java
Todas las excepciones tienen como clase base la clase Throwable, que est incluida en el paquete java.lang, y sus mtodos son:
Trowable( String mensaje ); Constructor. La cadena es opcional
PROThrowable fillInStackTrace(); Llena la pila de traza de ejecucin. String getLocalizedMessage(); Crea una descripcin local de este objeto. String getMessage(); Devuelve la cadena de error del objeto. void printStackTrace( PrintStream_o_PrintWriter s ); Imprime este objeto y su traza en el flujo del parmetro s, o en la salida estndar (por defecto). String toString; Devuelve una breve descripcin del objeto. D. Excepciones que incorpora Java 1.2
a.) Clases de Error
o o o
LinkageError: Una clase no satisface la dependencia que tiene respecto a otra.
ClassCircularityError: Se detect una herencia circular entre clases. ClassFormatError: Una clase cargada no ha sido incompletamente descrita. UnsupportedClassVersionError: La versin de una clase no es correcta. ExceptionInInitializerError: Error al iniciar un miembro static. IncompatibleClassChangeError: En una clase, su interfaz no es igual al declarado AbstractMethodError: Se ha invocado un mtodo abstracto. IllegalAccessError: La aplicacin intent acceder a algn miembro no visible. InstantiationError: Se intent instanciar una clase abstracta o interfaz.
o o
NoSuchFieldError: No se encontr determinado atributo.
NoSuchMethodError: No se encontr determinado mtodo. NoClassDefFoundError: No se encontr una clase cuando se necesitaba. UnsatisfiedLinkError: Se encontr un enlace insatisfecho en un mtodo nativo. Veri-fyError: Se ha producido un error de verificacin al cargar una clase. ThreadDeath: Se ha lanzado en el thread vctima tras llamar a stop(). VirtualMachineError: La mquina virtual se ha averiado o quedado sin recursos. InternalError: Error interno en tiempo de ejecucin. OutOfMemoryError: El lector ha agotado la memoria. StackOverflowError: Desbordamiento de pila. Recursin infinita?. UnknownError: Grave error desconocido.
b.) Clases de Exception
CloneNotSupportedException: No se pudo copiar un objeto mediante clone(). IllegalAccessException: Algn mtodo invocado es no visible. InstantiationException: Se ha intentado instanciar una interfaz o una clase abstracta. InterruptedException: Cuando se invoca a interrupt() sobre un thread dormido. NoSuchFieldException: La clase no tiene un atributo con ese nombre. NoSuchMethodException: La clase no tiene un mtodo con ese nombre.
c.) Clases de RuntimeException
ArithmeticException: Error de clculo (como divisin por cero...).
ArrayStoreException: Intento de almacenar un objeto equivocado en un vector. ClassCastException: Intento de conversin invlida. IllegalArgumentException: Se ha pasado un argumento invlido a un mtodo: IllegalThreadStateException: Un thread no estaba en el estado adecuado. NumberFormatException: Una cadena contenedora de un nmero, no lo contiene. IllegalMonitorStateException: Se ha usado wait/notify fuera de cdigo sincronizado. IllegalStateException: Mtodo invocado en un momento inapropiado. IndexOutOfBoundsException: Acceso a un vector fuera de sus lmites: ArrayIndexOutOfBoundsException: Idem, para una matriz. StringIndexOutOfBoundsException: Idem, para una cadena. NegativeArraySizeException: Intento de creacin de un vector de tamao negativo. NullPointerException: Se ha usado una referencia null para acceder a un campo. SecurityException: Algo ha sido vedado por el sistema de seguridad. UnsupportedOperationException: Una operacin invocada no se soporta. Para ms informacin vase la documentacin del JDK que usted vaya a utilizar.