多态与异常处理动手动脑
一、请阅读并运行AboutException.java示例
运行结果截图:
二、辨析:finally语句块一定会执行吗?
答:在不终止VM的情况下,finally中的代码一定会执行。
SystemExitAndFinally.java运行结果截图:
因为System.exit(),让我们看一下API中的说明:exit(int status): Terminates the currently running Java Virtual Machine。原来是这样,JVM都被终止掉了,当然不会再执行finally中的语句了。所以只要是在不终止VM的情况下,finally中的代码一定会执行。
三、PrintExpressionStack.java示例
运行结果截图:
Java多层嵌套异常处理的基本流程:
第一、调用异常的对象的printStackTrace()方法,打印方法调用栈的异常信息。
第二、如果出现异常的线程为主线程,则整个程序运行终止;如果非主线程,则终止该线程,其他线程继续运行。
四、ThrowMultiExceptionsDemo.java示例
运行结果截图:
五、OverrideThrows.java示例
运行结果截图:
六、ExceptionLinkInRealWorld.java示例
运行结果截图 :