Visual Studio外部C#上的UnhandledExceptionHandler

时间:2018-08-23 19:27:53

标签: c# exception logging

首先:我在SO上查看了所有类似的问题,没有一个答案无济于事。 我尝试了所有三个选项(Automatic, Catch, Throw)。在所有结果中,行为完全相同。 ThreadException没有帮助。

有一个项目。一个大的。在超过4万行代码后,当局决定添加日志记录。正常,已经添加了Debug级别,现在出现了Exception序列。

有一种变体可以添加到try {} catch {log.write (message)}的任何地方,但是我认为这不是最佳选择。

我尝试使用UnhandledExceptionHandler,但是在工作室之外(如果易于运行而无需调试)处理程序将无法正常工作。

问题:有人遇到过这种情况吗?在这种情况下,您能提供什么建议?

需要什么:拦截发行中的所有(不仅是致命的)异常并将它们记录下来。

WinForms,.NET 2.0(是的,很糟糕:)

我将Handler的{​​{1}}挂在Main之前:

Application.Run (mainForm)

处理代码

AppDomain.CurrentDomain.UnhandledException + = UnhandledExceptionHandler;
Application.SetUnhandledExceptionMode (UnhandledExceptionMode.CatchException);

该代码根本无法工作,就好像它不存在一样。在VS中,在调试模式下,一切都很好-可以在此方法内放置一个断点,并写入日志。我直接运行.exe时,似乎处理程序消失了。

0 个答案:

没有答案