##
EXCEPCIONES PREDEFINIDAS

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:

#### ArithmeticException

> Las excepciones aritméticas son típicamente el resultado de una división por 0:

>     int i = 12 / 0;

#### NullPointerException

> 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 );
>             }
>         }

#### IncompatibleClassChangeException

> El intento de cambiar una clase afectada por referencias en otros objetos, específicamente cuando esos objetos todavía no han sido recompilados.

#### ClassCastException

> El intento de convertir un objeto a otra clase que no es válida.

>     y = (Prueba)x;      // donde
>     x no es de tipo Prueba

#### NegativeArraySizeException

> Puede ocurrir si hay un error aritmético al intentar cambiar el tamaño de un array.

#### OutOfMemoryException

> ¡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.

#### NoClassDefFoundException

> Se referenció una clase que el sistema es incapaz de encontrar.

#### ArrayIndexOutOfBoundsException

> 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.

#### UnsatisfiedLinkException

> 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().

#### InternalException

> 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]