jos*_*ley 7 exception-handling exception .net-core
完美的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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我明白了:
你可以看到我的异常处理程序没有运行.那么如何在.NET Core中捕获此异常呢?
编辑2017年9月15日:在.NET Core 2.0中,现在有一个StackOverflowException类,但它实际上仍然没有捕获堆栈溢出异常.
小智 2
从 CLR 2.0 开始,您无法捕获 StackOverflowException。除非你是那个扔它的人。
https://blogs.msdn.microsoft.com/jaredpar/2008/10/22/when-can-you-catch-a-stackoverflowexception/