这是应该生成第一次机会异常的代码。
class MyClass
{
public string SomeField { get; set; }
}
class Program
{
static void Main(string[] args)
{
try
{
Print(null);
}
catch { }
}
static void Print(MyClass myclass)
{
Console.WriteLine(myclass.SomeField);
}
}
我设置 ProcDump 来捕获故障转储,如下所示。
ProcDump -ma MyApplication.exe
据我了解,此命令应同时捕获第一次机会和第二次更改异常。但是对于上面的代码,我没有得到任何异常。如果从我的代码中删除 catch 块,那么我会得到一个转储文件,但应该是第二次机会异常。任何想法为什么我没有第一次机会得到任何崩溃转储?