当使用java命令执行一个类的时候,就会启动一个JVM,即java虚拟机,从而加载并执行这个类。
api文档中对exit(int status)方法的描述为:Terminates the currently running Java Virtual Machine
即是说调用该方法会系统会终止当前正在运行的java虚拟机,当在try语句块中执行System.exit(0)这条语句时,系统会立即终止java虚拟机,java虚拟机都不运行了,当然不可能继续往下执行finally语句块了。
当然你所说的finally语句块无论在任何情况下都是会被执行到的,其实是不严谨的,说这句话应该有一个前提就是当程序产生异常是能够程序本身所处理的,而上述情况是强制终止了JVM。
回答完毕。。。 |