没有使用try...catch...finally
的会抛异常的情况:
public class Test02 {
public static void main(String[] args) {
//one
System.out.println(8 / 0);
//two
System.out.println("我在异常之后打印啦");
}
}
输出结果:
结论:当出现异常之后,异常之后的代码没有执行。
使用了try...catch...finally
的会抛异常的情况:
-
使用
tyr...catch
将异常包起来的情况public class Test02 { public static void main(String[] args) { try { //one System.out.println(8 / 0); } catch (Exception e) { e.printStackTrace(); } //two System.out.println("我在异常之后打印啦"); } }
输出结果:
结论:当使用
try...catch
将异常包起来的时候,如果try
中出现异常,会打印错误日志,同时会执行剩余的代码,不会出现异常而程序中断。 -
使用
try...finally
将异常包起来到的情况public class Test02 { public static void main(String[] args) { try { //one System.out.println(8 / 0); } finally { System.out.println("我是finally"); } //two System.out.println("我在异常之后打印啦"); } }
输出结果:
结论:当只有
try...finally
的时候,如果try
中出现异常,将执行完finally
中的内容之后,在终止程序,后面的代码不会执行。
要注意的小点:使用 try...catch...finally
的时候,catch
和 finally
必须存在一个