期望的输出顺序应该是:
抛出捕获到的异常
in finally
java.lang.Exception
at ExceptionTest.testException(ExceptionTest.java:15)
at ExceptionTest.main(ExceptionTest.java:33)
但是实际上顺序有时候的结果是这样的:
java.lang.Exception
抛出捕获到的异常
in finally
at ExceptionTest.testException(ExceptionTest.java:15)
at ExceptionTest.main(ExceptionTest.java:33)
或者
java.lang.Exception
at ExceptionTest.testException(ExceptionTest.java:15)
at ExceptionTest.main(ExceptionTest.java:33)
抛出捕获到的异常
in finally
这个就不理解了,难道是e.printStackTrace()是异步的吗?那如何将异步改为同步呢? 作者: 李辉 时间: 2013-3-10 18:54
首先你这个程序里面不存在同步异步的问题,同步异步是多线程的时候考虑的,你这个程序是单线程执行的。
public static void main(String[] args) {