在Java中经常使用的对异常的处理有:try...catch...finally、throw和throws 之前使用的时候经常混淆 今天花时间梳理了一下
1.try...catch...finally
try中存放可能出现异常的代码,catch处理try中抛出的异常
int i = 0;
try {
System.out.println("开始进入try中代码");
int a = 100 / i;
System.out.println("执行try中异常之后代码");
} catch (Exception e) {
System.out.println("catch捕获异常");
} finally {
System.out.println("执行finally中代码");
}
System.out.println("执行try——catch——finally外代码");
}
以上代码打印结果,打印出了以下结果
开始进入try中代码
catch捕获异常
执行finally中代码
执行try——catch——finally外代码
如果catch捕获并处理了异常之后,下面的代码继续执行。
而如果使用throw抛出了异常之后
public static void main(String[] args) throws Exception {
int i = 0;
try {
System.out.println("开始进入try中代码");
int a = 100 / i;
System.out.println("执行try中异常之后代码");
} catch (Exception e) {
System.out.println("catch捕获异常");
throw e;
} finally {
System.out.println("执行finally中代码");
}
System.out.println("执行try——catch——finally外代码");
}
以下是执行结果:
开始进入try中代码
执行finally中代码
Exception in thread "main" java.lang.ArithmeticException: / by zero
从上面代码的运行结果可以看出,try...catch...finally的fianlly中的代码是一定会执行的,而如果使用throw抛出一个异常后,程序不再往下执行。
标签:...,Java,代码,System,try,finally,catch,throws,out From: https://www.cnblogs.com/zd233/p/17391861.html