如果finally块引发异常, 究竟 发生了什么?
具体来说,如果在finally块的中间抛出异常,会发生什么情况。该块中的其余语句(之后)是否被调用?
我知道异常会向上传播。
该异常会不断传播,并将(可以)在更高层次上进行处理。
在引发异常之前,您的finally块将 不会 完成。
如果在处理较早的异常期间执行了finally块,则该第一个异常将丢失。
C#4语言规范§8.9.5:如果finally块引发另一个异常,则终止当前异常的处理。