为了账号安全,请及时绑定邮箱和手机立即绑定

处理未处理的异常问题

处理未处理的异常问题

C#
九州编程 2019-11-14 09:27:37
我想为我的代码中可能未捕获的所有意外异常设置一些处理程序。在Program.Main()我使用以下代码:AppDomain.CurrentDomain.UnhandledException    += new UnhandledExceptionEventHandler(ErrorHandler.HandleException);但是它没有按我预期的那样工作。当我在调试模式下启动应用程序并引发异常时,它确实调用了处理程序,但是此后,Visual Studio中的异常帮助程序弹出了,好像该异常发生时没有进行任何处理。我在处理程序中尝试了Application.Exit(),但效果不佳。我想实现的是,异常由我的处理程序处理,然后应用程序关闭良好。还有其他方法吗?还是我以错误的方式使用了上面的代码?
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

这是因为您是通过Visual Studio在“调试”模式下运行它的。如果您在其他地方发布和安装应用程序,则只会处理全局异常处理程序。


查看完整回答
反对 回复 2019-11-14
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

注意,未处理的异常仍然非常致命。您只能将其真正用于记录日志,或者可能需要匆忙关闭。这或Application.ThreadException不能用作错误的全局接收器。


更好的方法是添加适当的处理-例如,围绕您的整个Main()逻辑。请注意,即使这样也无法捕获一些异常,例如表单加载期间的错误(这种异常特别令人讨厌-您可以使用附加的调试器来捕获它们,但并非没有)。


查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 527 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信