包括以下几种情况:
1、不抛出异常,try里面的代码、finally里面的代码、finally以后的代码都将正常执行,而catch里面的代码不会执行。
2、抛出异常且被catch捕获,try里面的代码部分执行,catch里面的代码、finally里面的代码、finally以后的代码都将正常执行。
3、抛出异常,但未被catch捕获,抛出异常的语句将会报错,在try中的抛出异常的语句后的语句将不会执行,由于异常未被捕获,故catch语句不执行,但是finally仍然会执行,在finally后面的语句由于程序已经报错停止,故将不会执行
注意:finally在这三种情况中,都正常执行,finally永远会执行,除非try前面的语句报错。