c# - 为什么 finally 没有被执行?

标签 c# .net exception try-catch try-finally

我假设 finally block 总是在程序运行时执行。但是,在此控制台应用程序中,finally block 似乎并未执行。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                throw new Exception();
            }
            finally
            {
                Console.WriteLine("finally");
            }
        }
    }
}

输出

Result

注意:抛出异常时,windows 询问我是否要结束应用程序,我说"is"。

最佳答案

它实际执行了。只是你没有注意到。就在您看到 Windows 正在检查问题的解决方案 时,单击 Cancel 并查看它。

enter image description here

关于c# - 为什么 finally 没有被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262744/

相关文章:

exception - 什么时候抛出异常?

c# - 为 .NET 程序集设置 CLS 合规性

.net - Windows Installer MSI 是否应该包含 .NET 框架?

c# - 如何将数据插入关系数据库

.net - MAUI:带有错误页面或小吃的全局异常处理

c# - 获取应用程序的 NotifyIcon 矩形?

python - 在 "validation"类中使用异常或返回状态代码更好吗?

Java - OSX Mavericks 上的 Accumulo init 异常 - log4j 记录器

c# - 如何知道哪个碰撞器在 Unity 中触发了对 OnTriggerEnter 的调用(在具有多个碰撞器的游戏对象上)

c# - ASP.NET 路由 - 忽略具有特定扩展名的文件的路由,无论目录如何