我想为我的代码中可能未捕获的所有意外异常设置一些处理程序。在Program.Main()我使用以下代码:AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(ErrorHandler.HandleException);但是它没有按我预期的那样工作。当我在调试模式下启动应用程序并引发异常时,它确实调用了处理程序,但是此后,Visual Studio中的异常帮助程序弹出了,好像该异常发生时没有进行任何处理。我在处理程序中尝试了Application.Exit(),但效果不佳。我想实现的是,异常由我的处理程序处理,然后应用程序关闭良好。还有其他方法吗?还是我以错误的方式使用了上面的代码?
3 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
注意,未处理的异常仍然非常致命。您只能将其真正用于记录日志,或者可能需要匆忙关闭。这或Application.ThreadException不能用作错误的全局接收器。
更好的方法是添加适当的处理-例如,围绕您的整个Main()逻辑。请注意,即使这样也无法捕获一些异常,例如表单加载期间的错误(这种异常特别令人讨厌-您可以使用附加的调试器来捕获它们,但并非没有)。
- 3 回答
- 0 关注
- 554 浏览
添加回答
举报
0/150
提交
取消