Este é um pequeno exemplo que apresenta o tratamento básico de exceções, incluindo lançamento, captura, declaração e registro.
O tratamento de exceções Java é gerenciado por meio de cinco palavras-chave: try, catch, throw, throws e finalmente. O processo básico é agrupar a instrução a ser monitorada com um bloco de instrução try. Se ocorrer uma exceção no bloco de instrução try, seu código poderá capturar a exceção e tratá-la no bloco de instrução catch. a seguir Algumas exceções geradas pelo sistema são lançadas automaticamente quando o Java está em execução. Você também pode declarar o método para lançar uma exceção por meio da palavra-chave throws e, em seguida, lançar o objeto de exceção por meio de throw dentro do método.
Copie o código do código da seguinte forma:
pacote com.hongyuan.test;
importar java.io.IOException;
importar java.util.logging.Level;
importar java.util.logging.Logger;
classe pública ExceptionHandleTest {
estático{
//Ative as asserções e as classes carregadas pelo carregador de classes do sistema terão as asserções habilitadas.
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
public static void main(String[] args) {
/*
* Jogue, pegue
*/
tentar {
TryCatchTest.run(10, -1);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("============================================ ==========");
//registro
LogerTest.run();
System.out.println("============================================ ==========");
//afirmação
AssertTest.div(3,0);
}
}
/*
* afirmação
*/
classe AssertTest {
public static double div(int b,int a){
assert a!=0: "Seu professor do ensino fundamental sabe se você usa isso?";
retornar (duplo)b/a;
}
}
/*
* registro
*/
classe LogerTest {
registrador estático privado logger=null;
estático{
//Obtém o objeto de log e define o nível de log
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Level.ALL);
}
execução estática pública void(){
//Inserir método
logger.entering(LogerTest.class.getName(), "executar");
//Informações gerais
logger.info("Venha me incomodar de novo, gravei esta conta!!!");
//avisar
logger.warning("Estou muito cansado, não consigo fazer esse trabalho!!!");
//sério
logger.log(Level.SEVERE,"Desisti!!!^O^");
//Método de saída
logger.exiting(LogerTest.class.getName(), "executar");
}
}
/*
* capturar, lançar
*/
classe TryCatchTest {
public static void run(int x,int y) lança IOException {
tentar{//obrigatório
se(x<0||y<0){
throw new IllegalArgumentException("Estou sem palavras, o que devo fazer!!!");
}
}catch(Exceção e){//opcional
IOException e1=new IOException("Você pode descobrir sozinho!");
e1.initCause(e.getCause());
jogue e1;
}finalmente{//opcional
System.out.println("Finalmente eles viveram uma vida feliz!!! (Fim)");
}
}
}