当程序崩溃时,捕获异常并正确处理程序
本文关键字:程序 正确处理 捕获异常 崩溃 | 更新日期: 2023-09-27 18:09:00
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Forms.Application.ThreadException +=
new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
是我从一个类似的问题中剪下来的代码,但它不能解决我的问题。我要做的是捕获崩溃并正确处理我的应用程序,这样我就不会留下内存转储/跟踪/系统杂散图标
如果使用调试器或任务管理器终止进程,则没有办法处理这种情况——无论是。net应用程序还是本机应用程序。
在CLR中处理操作系统异常是可能的,但不建议这样做。参见是否有可能在。net中捕获访问冲突异常?查看详细信息。
在几乎所有的情况下,你的进程不应该以这些方式终止,即使它这样做,适当的处理是不必要的,因为操作系统将正确关闭几乎所有的句柄:文件,连接等。被终止的应用程序在浏览器中留下托盘图标是一个20年前的bug,你对此无能为力。