控制台应用程序中的.NET Core Global异常处理程序

Rom*_*ory 13 .net c# exception-handling console-application .net-core

我正在移植一个控制台应用程序.NET Core,我正在尝试替换此行:

AppDomain.CurrentDomain.UnhandledException += UnhandledException;
Run Code Online (Sandbox Code Playgroud)

看完这个,似乎没有内置的方式做到这一点.

所以我的问题是:用一个替换围绕我的整个代码的这一行的唯一方法是try/catch

通过阅读本文,似乎还有另一种方式,即继续使用System.AppDomain,但我似乎无法找到这个类/方法.我唯一的猜测是这个库,但它清楚地表明如果可能的话不应该使用它,所以我不愿意.

VMA*_*Atm 11

你是对的,它AppDomain.UnhandledException或它的模拟只能在.Net Core 2.0中使用,所以现在你应该等待或添加额外的try/catch块.但是,如果您正在使用这些任务,则可以使用TaskScheduler.UnobservedTaskException,这可以从第一版获得.Net Core.