好的,我承认这段代码对你来说看起来很奇怪,那是因为它很奇怪。这只是重现行为的代码,而不是我想使用的代码。
class Program
{
static void Main(string[] args)
{
try
{
Activator.CreateInstance(typeof(Func<int>), new object[] { new object(), IntPtr.Zero });
}
catch
{
Console.WriteLine("This won't print!");
}
Console.Write("Actually this will not print either!");
Console.ReadLine();
}
}
无论我尝试捕获哪种异常类型(据我所知,实际抛出的异常是 ArgumentException),catch 块内的代码都不会执行。实际上执行将在 Activator.CreateInstance 行停止。