exception - .NET Core-如何捕获StackOverflowException

标签 exception exception-handling .net-core

完美的StackOverflow问题终于来了。

如何捕获StackOverflow异常!

在.NET Core中,StackOverflowException似乎不可用:

enter image description here

如果我运行此代码:

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();
        }
    }
}

我得到这个:

enter image description here

您可以看到我的异常处理程序没有运行。那么,如何在.NET Core中捕获此异常?

编辑2017年9月15日:
在.NET Core 2.0中,现在有一个StackOverflowException类,但实际上仍未捕获到stackoverflow异常。

最佳答案

从CLR 2.0开始,您不能捕获StackOverflowException。除非您是扔它的人。

https://blogs.msdn.microsoft.com/jaredpar/2008/10/22/when-can-you-catch-a-stackoverflowexception/

关于exception - .NET Core-如何捕获StackOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496163/

相关文章:

java - 在加入其他线程时被打断

c# - 模型绑定(bind)的复杂类型不能是抽象类型或值类型,并且必须具有无参数构造函数

c# - 如何在单独的类库.net core 中使用 DbContext?

ruby - 如何向 Ruby 中的异常消息添加信息?

android - 使用 Crashlytics 捕获异常而不崩溃?

c# - 如何捕获堆栈跟踪?

linux - Linux 上的 .Net Core 控制台应用程序不会作为服务运行

c# - 如何正确捕获 ASP.Net MVC 5 项目中 View 甚至 Controller 引发的异常

python - 异常: "can' t 将序列乘以 'float' 类型的非整数

Java List.add() UnsupportedOperationException