小编Ole*_*nov的帖子

Main之前的例外

我使用以下代码创建了应用程序(仅用于研究目的):

using System;
using System.CodeDom;
using System.Linq;
using System.Reflection;
using System.Security.Permissions;

namespace HelloWorld
{
    public class Program
    {
        static Program()
        {
            throw new Exception("Here we are");
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Hello, world!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望TypeInitializationException在调用Main()方法之前我会有一个例外,因为静态ctor只能在第一次调用此类的任何成员之前调用一次.因此,在这种情况下,CLR必须为Program类调用静态ctor,然后它必须调用该Main()方法.但这里有一个奇怪的事情:这个异常是从这个引发的Main().但为什么?我们应该从另一个地方获得异常,因为Main不能被调用.

这是异常消息:

未处理的异常:System.TypeInitializationException:'HelloWorld.Program'的类型初始值设定项引发异常.---> System.Exception:这里我们在D:\ research\HelloWorld\Program.cs中的HelloWorld.Program..cctor():第13行---内部异常堆栈跟踪结束--- 在HelloWorld.Program .Main(String [] args)

更新:

我有这个消息.

在此输入图像描述

不幸的是,我无法在此异常后调试应用程序.

c# exception

22
推荐指数
2
解决办法
1735
查看次数

标签 统计

c# ×1

exception ×1