#tryCatch
如果try代码块有可能多个异常
可以用多个catch 分别捕获不同的异常
要求是子类异常写在前面,父类异常写在后面(比如Exception在后, NullPointerException在前) 如果发生异常,只会匹配一个catch 例如:
try {
Person person = new Person();
System.out.println(person.getName());
int n1 = 10;
int n2 = 0;
int res = n1 / n2;
} catch (NullPointerException e){
System.out.println("空指针异常:" + e.getMessage());
} catch (ArithmeticException e){
System.out.println("算术异常: " + e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
System.out.println("This is finally");
}
可以进行try-finally配合使用,相当于没有捕获异常 ,因此程序会直接崩掉 应用场景就是执行一段代码,不管是否发生异常,都必须执行某个业务逻辑。
try{
//代码...
}
finally{
//总是执行
}
如果没有出现异常,则执行try块中所有语句,不执行catch块中语句,如果有finally 则有执行finally里面的语句
如果有异常,则try块中异常发生后,try块剩下的语句不再执行。将执行catch块中语句,如有finally,最后还需要 执行finally里面的语句。
本文章使用limfx的vscode插件快速发布