当程序在执行过程中,抛出异常,它会改变程序的执行流程。因此不能保证后边的程序会一定执行,在C#中,由finally 解决。
为了确保一个语句能够完全执行(不管是否会抛出异常),需要将执行的语句放到finally块中。
finally 要么紧接在 try 块之后,要么紧接在 try 块之后的最后一个 catch 处理程序之后。只要程序进入与一个 finally 块关联的 try 块,则 finally 块始终都会运行 -- 即使发生了一个异常。
https://blog.csdn.net/seattle1215/article/details/6660955