出现在java程序中的finally块一定会被执行吗?
上学的时候,哲学老师对我们说,做什么都不要太绝对了,做题也是一样。。。。。拿去考试去了。。
言归正传,答案是不一定的。 为甚呢,
1.第一种情况:我们知道java的异常处理机制是出现异常,则后面的代码都不执行了。那么我的异常若出现在try{}块上面呢,那么运行就会直接报异常了,finally根本没机会啊。
2.第二种情况:调用System.exit(0)函数,强制的退出程序。
出现在java程序中的finally块一定会被执行吗?
上学的时候,哲学老师对我们说,做什么都不要太绝对了,做题也是一样。。。。。拿去考试去了。。
言归正传,答案是不一定的。 为甚呢,
1.第一种情况:我们知道java的异常处理机制是出现异常,则后面的代码都不执行了。那么我的异常若出现在try{}块上面呢,那么运行就会直接报异常了,finally根本没机会啊。
2.第二种情况:调用System.exit(0)函数,强制的退出程序。