CPJ B Ejercicio Excepciones 2
CPJ B Ejercicio Excepciones 2
CPJ B Ejercicio Excepciones 2
mx
Crear un ejercicio para uso más avanzado de excepciones. Al
finalizar deberemos observar lo siguiente:
www.globalmentoring.com.mx
www.globalmentoring.com.mx
Vamos a crear el proyecto :
www.globalmentoring.com.mx
Vamos a crear una clase:
www.globalmentoring.com.mx
Vamos a crear una clase:
www.globalmentoring.com.mx
Vamos a crear una clase:
www.globalmentoring.com.mx
Vamos a crear una clase:
www.globalmentoring.com.mx
Vamos a crear una clase:
www.globalmentoring.com.mx
Archivo AccesoDatosEx.java:
package excepciones;
www.globalmentoring.com.mx
Archivo EscrituraDatosEx.java:
package excepciones;
www.globalmentoring.com.mx
Archivo LecturaDatosEx.java :
package excepciones;
www.globalmentoring.com.mx
Archivo AccesoDatos.java :
package datos;
import excepciones.AccesoDatosEx;
www.globalmentoring.com.mx
Archivo ImplementacionMySql.java :
package datos;
import excepciones.*;
@Override
public void insertar() throws AccesoDatosEx {
if (simularError) {
throw new EscrituraDatosEx("Error de escritura de datos");
} else {
System.out.println("Insertar desde MySql");
}
}
@Override
public void listar() throws AccesoDatosEx {
if (simularError) {
throw new LecturaDatosEx("Error de lectura de datos");
} else {
System.out.println("Listar desde MySql");
}
}
@Override
public void simularError(boolean simularError) {
this.simularError = simularError;
}
} www.globalmentoring.com.mx
Archivo ManejoExcepciones2.java (Parte 1):
package manejoexcepciones2;
import datos.*;
import excepciones.*;
www.globalmentoring.com.mx
Archivo ManejoExcepciones2.java (Parte 2):
private static void ejecutar(AccesoDatos datos, String accion) {
if ("listar".equals(accion)) {
try {
datos.listar();
}
//Si se van a procesar varias excepciones de la misma jerarquia
//siempre se debe procesar primero la excepcion de menor jerarquia
//y posteriormente la de mayor jerarquia
catch (LecturaDatosEx ex) {
System.out.println("Error lectura: Procesa la excepcion mas especifica de lectura de datos");
} catch (AccesoDatosEx ex) {
System.out.println("Error Acceso datos: Procesa la excepcion mas generica de acceso a datos");
} catch (Exception ex) {
System.out.println("Error general");
}
finally {
System.out.println("Procesar finally es opcional, siempre se ejecutara sin importar si hubo error o no");
}
} else if ("insertar".equals(accion)) {
try {
datos.insertar();
} catch (AccesoDatosEx ex) {
System.out.println("Error acceso datos: Podemos procesar solo la excepcion mas generica");
}
finally{
System.out.println("Procesar finally es opcional, siempre se ejecutara sin importar si hubo error o no");
}
}
else
System.out.println("No se proporciono ninguna accion conocida");
}
} www.globalmentoring.com.mx
El resultado es como sigue:
www.globalmentoring.com.mx
• Probar con el modo debug del IDE y verificar paso a paso.
www.globalmentoring.com.mx
• Con este ejercicio hemos puesto en práctica conceptos más
avanzados de excepciones en Java.
www.globalmentoring.com.mx
Por: Ing. Ubaldo Acosta
www.globalmentoring.com.mx