Las excepciones predefinidas y su jerarquía de clases es la que se muestra en la figura:
Los nombres de las excepciones indican la condición de error que representan. Las siguientes son las excepciones predefinidas más frecuentes que se pueden encontrar:
Las excepciones aritméticas son típicamente el resultado de una división por 0:
int i = 12 / 0;
Se produce cuando se intenta acceder a una variable o método antes de ser definido:
class Hola extends Applet { Image img; paint( Graphics g ) { g.drawImage( img,25,25,this ); } }
El intento de cambiar una clase afectada por referencias en otros objetos, específicamente cuando esos objetos todavía no han sido recompilados.
El intento de convertir un objeto a otra clase que no es válida.
y = (Prueba)x; // donde x no es de tipo Prueba
Puede ocurrir si hay un error aritmético al intentar cambiar el tamaño de un array.
¡No debería producirse nunca! El intento de crear un objeto con el operador new ha fallado por falta de memoria. Y siempre tendría que haber memoria suficiente porque el garbage collector se encarga de proporcionarla al ir liberando objetos que no se usan y devolviendo memoria al sistema.
Se referenció una clase que el sistema es incapaz de encontrar.
Es la excepción que más frecuentemente se produce. Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array.
Se hizo el intento de acceder a un método nativo que no existe. Aquí no existe un método a.kk
class A { native void kk(); }y se llama a a.kk(), cuando debería llamar a A.kk().
Este error se reserva para eventos que no deberían ocurrir. Por definición, el usuario nunca debería ver este error y esta excepción no debería lanzarse.
|
[Anterior] [Indice] [Siguiente] |