You are on page 1of 6

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI

Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 1de6

Divisin: (1)

Ing. En Sistemas Computacionales

Asignatura: (3)

Programacin Orientada a Objetos


Nombre del alumno: (5)

Grupo: (2)
Docente: (4)
No. de Control:

Rubn Domnguez Hernndez

321-V

Joaquina Ocampo Ensuastigue

(6)

143107006

Producto: (9)

Fecha: (7)

N Actividad: (8)

06/11/14

Calificacin y firma del profesor:(10)

Excepciones en java

CONTENIDO (11)

EXCEPCIONES
En Java una excepcin es un error o una condicin anormal que se ha producido durante la ejecucin de un
programa. Java tiene diferentes tipos de excepciones: excepciones de I/O, las excepciones en tiempo de ejecucin
y las de su propia creacin. Durante la compilacin solamente se detectan los errores de sintaxis, pero el manejo
de excepciones de Java permite manipular los errores que ocurren en tiempo de ejecucin, entre estas podemos
mencionar las excepciones aritmticas (divisin entre cero), excepciones de puntero (acceso a punteros NULL) y
excepciones de indexacin (acceso por encima o debajo de los lmites de un vector). Algunas excepciones son
fatales y causan el fin de la ejecucin del programa. En este caso conviene terminar ordenadamente y enviar un
mensaje explicando el tipo de error que se ha producido. En otras situaciones, por ejemplo cuando no se encuentra
un archivo sobre el que se desea realizar una operacin, el programa puede dar al usuario la oportunidad de
corregir el error. Un buen programa debe manejar correctamente la mayora de los errores que se puedan producir,
Java proporciona las siguientes herramientas para el manejo de excepciones: try, catch, throw, throws y finally.
Jerarqua de las Excepciones
En Java, todas las excepciones estn consideradas en el de rbol de excepciones que se deriva de la clase
Throwable. Existen dos subclases directas de Throwable: Error y Exception. En la figura 1 se observa parte de la
jerarqua de clases derivada de Throwable:
La clase Error est relacionada con errores de la mquina virtual de Java y no el cdigo, generalmente estos
errores no dependen del programador por lo que no debe preocuparse por tratarlos.

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI


Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 2de6

En la clase Exception se encuentran las excepciones RuntimeException, producidas por errores de programacin.
El compilador de Java obliga a corregirlas.
Figura 1

Tipos de Excepciones

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI


Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 3de6

Manejo de Excepciones
try: Define un bloque de cdigo donde se puede generar una excepcin. El bloque try va seguido inmediatamente
de uno o ms bloques catch y opcionalmente de una clusula finally. Cuando se lanza una excepcin el control
sale del bloque try actual y pasa a un manejador catch apropiado.
La sintaxis general del bloque try consiste en la palabra clave try y una o ms sentencias entre llaves.
try {
// Sentencias Java
}
Se pueden presentar dos situaciones diferentes a la hora de definir el bloque try:
Podemos tener ms de una sentencia que generen excepciones, en cuyo caso podemos definir bloques
individuales para tratarlos.
Podemos tener agrupadas en un mismo bloque try varias sentencias que puedan lanzar excepciones, con
lo que habra que asociar mltiples controladores a ese bloque.
catch: Define el bloque de sentencias que se ejecutarn cuando se haya producido una excepcin en un bloque
try.
La sintaxis general de la sentencia catch en Java es la siguiente:
catch( TipoExcepcion nombreVariable ) {
// sentencias Java
}
Se pueden colocar sentencias catch sucesivas, cada una controlando una excepcin diferente.
No debera intentarse capturar todas las excepciones con una sola clusula ya que representa un uso
demasiado general y podran llegar muchas excepciones.
catch( Exception e ) { } //captura genrica
finally: El bloque de cdigo definido en finally se ejecuta siempre, haya o no excepcin.

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI


Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 4de6

// Ejemplo excepcin sin tratar


public class EjExcepcion
{
public static void main (String args[])
{
int i = 0;
String cadenas[] = {
"Cadena 1",
"Cadena 2",
"Cadena 3",
"Cadena 4"
};
for (i=0; i<=4; i++) System.out.println(cadenas[i]);
}
}
Como resultado de la ejecucin del programa obtendremos:
> java EjExcepcion
Cadena 1
Cadena 2
Cadena 3
Cadena 4
java.lang.ArrayIndexOutOfBoundsException
at EjExcepcion.main(EjExcepcion.java, Compiled Code)
Exception in thread "main" Process Exit...
Vamos a reescribir el programa anterior para tratar el error:
// Ejemplo de tratamiento de excepciones
public class EjExcepcionBien
{
public static void main (String args[])
{

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI


Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 5de6

int i = 0;
String cadenas[] = {
"Cadena 1",
"Cadena 2",
"Cadena 3",
"Cadena 4"
};
try {
for (i=0; i<=4; i++) System.out.println(cadenas[i]);
} catch( ArrayIndexOutOfBoundsException ae ) {
System.out.println("\nError: Fuera del ndice del array\n");
} catch( Exception e ) {
// Captura cualquier otra excepcin
System.out.println( e.toString() );
} finally {
System.out.println( "Esto se imprime siempre." );
}
}
}
Como resultado de la ejecucin del programa obtendremos:
> java EjExcepcionBien
Cadena 1
Cadena 2
Cadena 3
Cadena 4
Error: Fuera del ndice del array
Esto se imprime siempre.

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI


Cdigo: FO-205P11000-XX
FORMATO DE ENTREGA DE
EVIDENCIAS
Pgina 6de6

throw: La sentencia throw se ejecuta para indicar que ha ocurrido una excepcin, o lanzamiento de una excepcin.
La sentencia throw especifica el objeto que se lanzar. La forma general de la sentencia
throw es:
throw ObjetoThrowable;
// Ejemplo de tratamiento de excepciones con throw
class UseThrows{
static char prompt(String str) throws java.io.IOException{
System.out.println(str+ ": ");
return (char) System.in.read();
}
}
public class PruebaUseThrows{
public static void main(String args[]){
char ch;
try{
ch=UseThrows.prompt("Escriba una letra");
}
catch( java.io.IOException exc){
System.out.println("Excepcion de entrada-Salida");
ch='X';
}
} // main
} //clase

Bibliografa
Guerrero, I. A. (s.f.). Obtenido de http://www.cc.uah.es/jlcastillo/POO/media/JavaCap4.pdf
(s.f.). Obtenido de http://www.cc.uah.es/jlcastillo/POO/media/JavaCap4.pdf

You might also like