int i=0;
try{
int j = 10/i;
}
catch(IOException e){}
finally{
Console.WriteLine("In finally");
Console.ReadLine();
}
在VS2008中按F5时,finally块似乎不会执行。 我在控制台应用程序中使用了这段代码。
int i=0;
try{
int j = 10/i;
}
catch(IOException e){}
finally{
Console.WriteLine("In finally");
Console.ReadLine();
}
在VS2008中按F5时,finally块似乎不会执行。 我在控制台应用程序中使用了这段代码。
在使用Visual Studio进行调试时,如果出现未捕获的异常(例如:除数为零异常),调试器会停止执行程序。在调试模式下,Visual Studio会优先中断程序执行并弹出一个错误提示框,而不是让应用程序崩溃。这是为了帮助您找到未捕获的错误并修复它们。如果您取消调试器的连接,则不会发生这种情况。
尝试从控制台以非调试模式运行该程序,并且不附加调试器,您将看到程序输出的信息。
finally
在会话结束之前执行。 - Dan Puzeyfinally
块。 - Dan PuzeyF5会继续运行应用程序直到下一个断点或未处理的异常。
我认为你应该使用F10进行逐步调试,或者打开所有异常(已处理或未处理)的中断。
finally
语句执行了。 - leppie不要通过F5运行您的应用程序。在调试模式下,您无法跳过异常,消息框会一遍又一遍地弹出。
相反,通过CMD、Far Manager等构建并运行它。