Anda di halaman 1dari 20

Excepciones en JAVA

Ing. Manuel Castaeda


Excepciones en JAVA
En Java, la clase Exception define condiciones de
error leves que los programas pueden encontrar.

En vez de dejar que el programa termine, el


programador puede escribir cdigo para
manejar esas excepciones y continuar con la
ejecucin del programa.
Excepciones en JAVA
Y qu es un error?

En Java, la clase Error define lo que es


considerado como una condicin de error grave
que el programador no debera de recuperar.
En la mayora de los casos, es aconsejable dejar
que el programa termine cuando se encuentra
un error.
Excepciones en JAVA
Java implanta el estilo de C++ de las
excepciones para construir cdigo
flexible.
Cuando ocurre un error en el programa,
el cdigo que encuentra el error "lanza"
una excepcin.
Este proceso de lanzar una excepcin
indica al proceso actual en ejecucin que
ha ocurrido un error.
Excepciones en JAVA
El programador puede atrapar la
excepcin y, cuando sea posible,
recuperar el control del programa.

Por ejemplo:
Excepciones en JAVA
public class HelloWorld2
{
public static void main(String argv[])
{
int i = 0;
String saludos[] = {"Hola mundo!",
"No, creo que mejor digo",
"HOLA MUNDO!
};
while(i < 4)
{
System.out.println(saludos[i]);
i++; } } }
Excepciones en JAVA
Despus de que el programa compil sin errores y
se ejecuta, se obtiene el siguiente resultado:

$java HelloWorld2
Hola mundo!
No, creo que mejor digo
HOLA MUNDO!
java.lang.ArrayIndexOutOfBoundsException: 3
at HelloWorld.main(HelloWorld.java):12)
Excepciones en JAVA
Como se ve, la importancia de manejar
las excepciones es poder escribir
cdigo para atrapar las excepciones,
manejarlas, y continuar con la
ejecucin del programa.
Uso de try y catch
Para manejar una excepcin en
particular, se usa la palabra try con el
cdigo que puede lanzar una
excepcin, este cdigo tambin es
llamado cdigo protegido.
Uso de try y catch
Para atrapar y actuar cuando es
lanzada una excepcin, se usa catch
para especificar la excepcin a atrapar
y el cdigo a ejecutar si se lanza la
excepcin.
Uso de try y catch
try {
// cdigo que puede lanzar una excepcin
en particular
}
catch(ExceptionType e) {
// cdigo a ejecutar si ExceptionType es
lanzada
}
Uso de try y catch
tpublic class HelloWorld2
{
public static void main(String argv[])
{
int i = 0;
String saludos[] = {"Hola mundo!",
"No, creo que mejor digo",
"HOLA MUNDO!"};
while(i < 4)
{
try
{ System.out.println(saludos[i]);
}
catch(ArrayOutOfBoundsException e)
{
System.out.println("Ha ocurrido la excepcin: "+e.toString());
}
finally {
System.out.println("Esto siempre se ejecutara");
}
i++; } } }
Excepciones ms comunes
ArithmeticException.
Tpicamente el resultado de dividir entre cero. int = 12 / 0;

NullPointerException.
Un intento de accesar un objeto o mtodo antes de que sea
instanciado. String mensaje = null;
System.out.println(mensaje);

NegativeArraySizeException.
Un intento de crear un arreglo con el valor de tamao
negativo.
Excepciones ms comunes
ArrayIndexOutOfBoundsException.
Un intento de accesar un elemento de un arreglo ms all del
lmite del arreglo.

SecurityException.
Tpicamente lanzada en un navegador.

SecurityManager lanza una excepcin en los applets que


intentan:
Accesar un archivo local.
Abrir un socket en un host diferente al que pertenece el applet.
Ejecutar otro programa.
Creacin de excepciones
Para fomentar la programacin de cdigo robusto, Java requiere
que si un mtodo hace algo que puede resultar en una
excepcin, entonces debe quedar claro que accin se debe
tomar si el problema se presenta.

Hay dos cosas que el programador puede hacer para cumplir


este requisito:

el primero es usar el bloque


try{
}
catch(){
}
Creacin de excepciones
En catch( ) se va a usar una subclase de Exception,
aunque el bloque catch quede vaco;
La segunda, es indicar que la excepcin no es
manejada en este mtodo, y que por lo tanto ser
lanzada al mtodo que hace la llamada.

Esto se hace indicando la declaracin del mtodo


como sigue:

public void metodo() throws Exception


Creacin de excepciones
Despus de la palabra reservada throws va una
lista de todas las excepciones que pueden ser
lanzadas por el mtodo, pero no tratar de
manejarla en este lugar.
Aunque solamente una excepcin se muestra
aqu, una lista separada por comas puede ser
usada si hay mltiples posibles excepciones que
no sern manejadas en el mtodo.
Creacin de excepciones
Creacin de excepciones
Creacin de excepciones

Anda mungkin juga menyukai