int i=0;
try{
int j = 10/i;
}
catch(IOException e){}
finally{
Console.WriteLine("In finally");
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
在VS2008中按F5时,似乎不执行finally块.我在控制台应用程序中使用此代码.
我们在这个论坛上看到过很多关于try-catch-finally和try-finally建设的问题.
答案的数量增加了问题的数量,所以我也很少.
这是Microsoft解释try-finally构建的链接.我已经读过了!
在下面的文章中写道:
在处理的异常中,保证运行关联的finally块.但是,如果未处理异常,则finally块的执行取决于如何触发异常展开操作.反过来,这取决于您的计算机的设置方式.
我是否正确地理解在try-catch-finally施工finally中将永远执行?(不包括Environment.FastFail())
我已经在这个论坛上读到过StackOverFlowException(这个finally块没有在这个场合执行过),但是当我throw这个时,finally块被执行了.那有什么关系StackOverFlowException?
为什么finally不调用块?(在下面的代码中)?
我们一般使用哪些情况try-finally?
从什么PC设置finally块依赖?
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
throw new Exception();
}
finally
{
Console.WriteLine("finally");
Console.ReadKey();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)