C# 我应该将未处理的异常处理程序放在哪里?

C# 我应该将未处理的异常处理程序放在哪里?,c#,winforms,exception-handling,C#,Winforms,Exception Handling,我有一段名为Finally()的代码,它通过订阅UnhandledException事件(我说的是WinForms)来处理未处理的异常 我应该把这条线放在哪里?进入static Program()构造函数还是进入static void Main()方法?有什么不同吗?尽管它们都是在程序开始时调用的,但我会将其放在Main()方法中,因为静态构造函数中出现的任何异常都很难调试 您可以在Main方法中的任何位置订阅,但必须在发生未处理的异常之前订阅。您正在查找此项吗?此外,这也可以为您实现以下目的:

我有一段名为
Finally()
的代码,它通过订阅
UnhandledException
事件(我说的是WinForms)来处理未处理的异常


我应该把这条线放在哪里?进入
static Program()
构造函数还是进入
static void Main()
方法?有什么不同吗?

尽管它们都是在程序开始时调用的,但我会将其放在
Main()
方法中,因为静态构造函数中出现的任何异常都很难调试

您可以在
Main
方法中的任何位置订阅,但必须在发生
未处理的异常之前订阅。您正在查找此项吗?此外,这也可以为您实现以下目的:
AppDomain.CurrentDomain.UnhandledException += (_, __) => Finally(__.ExceptionObject as Exception);