test

Páginas: 5 (1124 palabras) Publicado: 17 de diciembre de 2014
Resumen Modulo 8
Excepciones y aserciones

04/06/2012
6/4/2012

1

1
Excepciones y Aserciones:
• Las Excepciones manejan situaciones inesperadas
llamada a un método con argumentos ilegales, fallo
de una conexión de red, o apertura de un archivo
que no existe.
• Las Aserciones documentan y prueban ciertos
supuestos sobre la lógica de un programa– Esto
nunca será negativo.
• LasAserciones pueden suprimirse enteramente al
ejecutar el código para evitar la ejecución de las
pruebas en tiempo de ejecución.
04/06/2012

Rev. 1.0

2
Excepciones:
• Condiciones que realmente pueden ocurrir en un la
ejecución de un programa son llamadas excepciones
comprobadas.
Estas son representadas por la clase Exception.
• Los problemas graves que normalmente se tratan comofatales o situaciones que probablemente reflejan
errores en el código de un programa son llamadas
excepciones no comprobadas.
• Situaciones Fatales son representadas por la clase
Error.
• Errores probables son representados por la clase
RuntimeException.
04/06/2012

Rev. 1.0

3
Ejemplo de una Excepción:
1
2
3
4
5
6
7
8
9

public class AddArguments {
public static voidmain(String args[]) {
int sum = 0;
for ( String arg : args ) {
sum += Integer.parseInt(arg);
}
System.out.println("Sum = " + sum);
}
}

java AddArguments 1 2 3 4
Sum = 10
java AddArguments 1 two 3.0 4
Exception in thread "main" java.lang.NumberFormatException: For input string:
"two"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
atjava.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at AddArguments.main(AddArguments.java:5)
04/06/2012

Rev. 1.0

4
Sentencia try-catch:
1
2
3
4
5
6
7
8
9
10
11
12
13
14

public class AddArguments2 {
public static void main(String args[]) {
try {
int sum = 0;
for ( String arg : args ) {
sum += Integer.parseInt(arg);
}
System.out.println("Sum = " +sum);
} catch (NumberFormatException nfe) {
System.err.println("One of the command-line"
+ "arguments is not an integer.");
}
}
}

Este programa captura la excepcion y luego se cierra con un mensaje de error:

java AddArguments2 1 two 3.0 4One of the command-line
arguments is not an integer.
04/06/2012

Rev. 1.0

5
Sentencia try-catch:
• El lenguaje Java proporciona un mecanismopara
averiguar qué excepción se ha generado y como
debe resolverla el programador.
• Puede utilizar un sólo bloque catch para
manipular todas las excepciones que pueden ser
generadas en el bloque try, o puede utilizar
bloques separados catch cada uno de los cuales
manipula un tipo particular de excepción.

04/06/2012

Rev. 1.0

6
Uso de múltiples cláusulas catch:
• Puede habermúltiples boques catch después de
un bloque try:
try {
// código que podría generar una
} catch (MyException e1) {
// código que debe ejecutarse si
lanzada
} catch (MyOtherException e2) {
// código que debe ejecutarse si
es lanzada
} catch (Exception e3) {
// código que debe ejecutarse si
otra excepción
}
04/06/2012

Rev. 1.0

o varias excepciones
una MyException es

unaMyOtherException

se lanza cualquier

7
Mecanismo de apilamiento de
llamadas:
• Si una excepción no es manejada en un bloque trycatch, en el método actual, la excepción se envía al
método que ha efectuado la llamada.
• Si la excepción llega al método main() y éste
tampoco la gestiona la excepción interrumpe el
programa de forma irregular.

04/06/2012

Rev. 1.0

8
Mecanismo deapilamiento de
llamadas:

04/06/2012

Rev. 1.0

9
Mecanismo de apilamiento de
llamadas:
class TestEx {
public static void main (String [] args) {
doStuff();
}
static void doStuff() {
doMoreStuff();
}
static void doMoreStuff() {
int x = 5/0; // No se puede dividir por cero!
// ArithmeticException se produce aquí
}
}

04/06/2012

Rev. 1.0

10
Mecanismo de apilamiento de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Test
  • Test
  • Test
  • Test
  • Test
  • test
  • test
  • Test

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS