10.27-动手动脑
in Level 1
in Level 2
in Level 3
Level 3:class java.lang.ArithmeticException
In Level 3 finally
In Level 2 finally
In Level 1 finally
总结:
10.27动手动脑
在try catch块中与构造和析构函数的执行结果类似,在多层嵌套下是由外向内执行,finally是从内向外执行但是catch在获取了离自己最近的异常后,之后如果没有异常则不会在执行,即一个异常只能被捕捉到一次
SystemExitAndFinally输出结果
in main
Exception is thrown in main
总结:在exit()之后的finally是不会执行的,即在程序以外中断代码之后的finally是不会执行的
PrintExceptionStack.java输出结果
Exception thrown in method3
java.lang.Exception: Exception thrown in method3
at demo.PrintExpressionStack.method3(PrintExpressionStack.java:33)
at demo.PrintExpressionStack.method2(PrintExpressionStack.java:28)
at demo.PrintExpressionStack.method1(PrintExpressionStack.java:23)
at demo.PrintExpressionStack.main(PrintExpressionStack.java:12)
每个Exception都是继承自throwable类,继承下来getmessage和PrintExpressionStack方法,第一个是打印异常的字符串内容,内容是用户自己定义的,后一个是打印出错的行数