Curso 09/10. Práctica 3 1
Estructuras de Control(Parte I)
Práctica 3
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Proyecto Inicial. Contenido
Curso 09/10. Práctica 32
testpersonaracional
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Jerarquía de clases relacionadas con las excepciones
33
J
Jerarquía de Excepciones.
Alguna de las más notables
de laAPI de Java
Se lanzan en tiempode ejecución y lascontrola la JVM y nose deben extender
Throwable
Exception
IOException
FileNotFoundException EOFException
RuntimeException
IndexOutOfBoundsException
NullPointerException ArithmeticException
Error
...
Nuestras Excepciones
Nuestras Excepciones
...CloneNotSupportedException
StringIndexOutOfBounsException ArrayIndexOutOfBoundsException
Object
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Creación de clases de tipo
Exception
Curso 07/08. Práctica 1 4
public class ContenedorVacio extends Exception {public ContenedorVacio ( ) {
super();}public ContenedorVacio (String texto ) {
super (texto);}
}
Definición de la clase para crear objetos de tipo Exception
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Lanzamiento de excepciones.
5
throw/throwsLa sentencia throw se usa con la llamada a un constructor de un objeto de la clase
exceptión o hija de ella y provoca el paso del control de ejecución a un bloque try
que tenga un cath asociado a un objeto de ese tipo o supertipo.
throw new ClaseException(“Texto explicativo”);
Sintaxis
throws se usa en las cabecera de los métodos que pudiendo generar una
excepción no tengan el try apropiado para tratarla. Indica que el control se pase al
método que lo llamo para realizar el tratamiento.
tipo metodo ( parametros) throws ClaseException { Sentencias
}
Sintaxis
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Captura de Excepciones
6
try/cath/finallyEl bloque de sentencia dentro del try queda sujeto a control de excepciones si se
produjera alguna y su tipo o supertipo estuviese en algún catch se ejecutaría ese
código y el bloque finally y continuaríamos. Si no se encontrase pasaríamos el
control al método anterior hasta encontrarla o salir del programa.
try { Sentencias;
} catch (SubClaseDeException e1) {
Sentencias; }
catch (SubClaseDeException e2) { Sentencias;
} finally {
Sentencias; }
Sintaxis
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Trabajo con Excepciones
7
racional
java.lang
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Test de excepciones
8
test
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Sentencias de control
Sentencia if-else◦ Evalúa la condición y según sea cierta o falsa ejecuta un
bloque de sentencias determinado.
◦ Un bloque está formado por un conjunto de sentencias entre llaves ({ })
9
if (condición) {sentencia-1;...sentencia-n;
}else {sentencia-n+1;... sentencia-m;
}
sentencia-1
sentencia-2
...
sentencia-n
sentencia-n+1
sentencia-n+2
...
sentencia-m
FalsoCierto condición
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Sentencias de control
Sentencia while:
◦ Ejecuta el bloque de sentencias mientras la condición evalúa a cierta.
10
while (condición){sentencia-1; sentencia-2;
...sentencia-n;}
Falsa
Cierta
sentencia-1
sentencia-2...
sentencia-n
condición
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Sentencias de control
Sentencia for-clásico:
◦ Se empieza ejecutando la inicialización (INI) y evaluando la condición (CON)
◦ Mientras la condición evalúe a ciertase ejecuta el bloque de sentenciasy la actualización (ACT).
11
for (INI; CON; ACT){
sentencia-1; sentencia-2;...sentencia-n;
}
Cierta
sentencia-1
sentencia-2...
sentencia-n
inicialización
condición
actualización
Falsa
REPASO
TEORÍA
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Paquete utiles. Clase Naturales.
Curso 09/10. Práctica 312
utiles
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Test de Naturales
Curso 09/10. Práctica 313
test