完美的StackOverflow问题终于来了......
如何捕获StackOverflow异常!
似乎在.NET Core中StackOverflowException
不可用:
如果我运行此代码:
using System;
namespace PlayGround.Core.Console
{
public class Program
{
public static void Main(string[] args)
{
try
{
DoSomething();
}
catch(Exception e)
{
System.Console.WriteLine("Bugger");
}
}
private static void DoSomething()
{
DoSomething();
}
}
}
我明白了:
您可以看到我的异常处理程序未运行。那么如何在.NET Core中捕获此异常呢?
编辑2017年9月15日: 在.NET Core 2.0中,现在有一个StackOverflowException类,但它实际上并没有捕获堆栈溢出异常。
答案 0 :(得分:0)
从CLR 2.0开始,您无法捕获StackOverflowException。除非你是扔它的人。
https://blogs.msdn.microsoft.com/jaredpar/2008/10/22/when-can-you-catch-a-stackoverflowexception/