Este es un pequeño ejemplo que presenta el manejo básico de excepciones, incluido el lanzamiento, la captura, la afirmación y el registro.
El manejo de excepciones de Java se gestiona mediante cinco palabras clave: intentar, capturar, lanzar, lanzar y finalmente. El proceso básico es envolver la declaración que se va a monitorear con un bloque de declaración try. Si ocurre una excepción dentro del bloque de declaración try, la excepción se generará. Su código puede capturar la excepción y manejarla en el bloque de declaración catch; siguiente Algunas excepciones generadas por el sistema se lanzan automáticamente cuando se ejecuta Java. También puede declarar el método para lanzar una excepción mediante la palabra clave throws y luego lanzar el objeto de excepción mediante throw dentro del método.
Copie el código de código de la siguiente manera:
paquete com.hongyuan.test;
importar java.io.IOException;
importar java.util.logging.Level;
importar java.util.logging.Logger;
clase pública ExceptionHandleTest {
estático{
// Habilite las aserciones y las clases cargadas por el cargador de clases del sistema tendrán las aserciones habilitadas.
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
público estático vacío principal (String [] argumentos) {
/*
* Lanzar, atrapar
*/
intentar {
TryCatchTest.run(10, -1);
} captura (IOException e) {
e.printStackTrace();
}
System.out.println("============================================= = =========");
//registro
LogerTest.run();
System.out.println("============================================= = =========");
//afirmación
AssertTest.div(3,0);
}
}
/*
* afirmación
*/
clase Prueba de afirmación {
público estático doble div (int b, int a) {
afirmar a!=0: "¿Sabe tu maestro de primaria si usas esto?";
retorno (doble)b/a;
}
}
/*
* registro
*/
clase PruebaLoger {
Registrador estático privado logger=null;
estático{
//Obtener el objeto de registro y definir el nivel de registro
registrador=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Nivel.ALL);
}
ejecución pública estática vacía(){
//Introduce el método
logger.entering(LogerTest.class.getName(), "ejecutar");
//Información general
logger.info ("¡¡Ven a molestarme otra vez, he grabado esta cuenta !!!");
//advertir
logger.warning ("¡¡¡Estoy demasiado cansado, no puedo hacer este trabajo!!!");
//grave
logger.log(Nivel.SEVERO,"¡¡¡Renuncio!!!^O^");
//método de salida
logger.exiting(LogerTest.class.getName(), "ejecutar");
}
}
/*
* capturar, lanzar
*/
clase PruebaCatchCatch {
ejecución pública estática vacía (int x, int y) lanza IOException {
probar{//obligatorio
si(x<0||y<0){
throw new IllegalArgumentException("Estoy sin palabras, ¡¡¡qué debo hacer!!!");
}
}catch(Excepción e){//opcional
IOException e1=new IOException("¡Puedes resolverlo tú mismo!");
e1.initCause(e.getCause());
tirar e1;
}finalmente{//opcional
System.out.println("¡¡Finalmente vivieron una vida feliz!!! (Fin)");
}
}
}