好吧,我承认这个代码对你来说很奇怪,那是因为它很奇怪.这只是重现行为的代码,而不是我想要使用的代码.
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行.