我想我在这里遗漏了一些非常微不足道的东西,但出于某种原因,这对我来说并不明显。我一直认为“终于”总是执行,无论是否有异常。
无论如何,这段代码无法运行,我不知道为什么。它到达 i = i/j 并引发 DivideByZero 异常,但我认为它会继续并在停止之前执行 finally 语句。
static void Main(string[] args)
{
int i = 1;
try
{
int j = 0;
i = i / j;
Console.WriteLine("can't get");
}
finally
{
Console.WriteLine("finally ran");
}
}