![](/img/trans.png)
[英]How do I exit a Windows Forms application immediately after displaying a MessageBox when an error on startup occurs?
[英]How to immediately exit a Windows Forms .NET application?
在我们的应用程序中,我们有一个非常广泛的异常处理机制 在我们的错误处理逻辑中的某个时刻,我们想要终止应用程序 - 就在此时没有进一步的代码执行。
我们当前的代码使用Environment.Exit()来做到这一点。 在调用Environment.Exit()之后,仍然执行了一些代码。 例如,GC可能会执行某些对象的终结器(这会导致我们的问题)。 我们不希望这种情况发生。 有没有办法真正杀死我们自己的进程(可能是Win32 API调用)?
当然,我们不希望最终用户看到程序崩溃时出现的Windows对话框...
使用Environment.FailFast
方法:
终止进程但不执行任何活动的try-finally块或终结器。
这似乎适用于一个简单的应用程序,但我没有尝试任何复杂的:
System.Diagnostics.Process.GetCurrentProcess().Kill();
获取一个新的Process组件并将其与当前活动的进程相关联。
杀死 :
Kill强制终止进程,而CloseMainWindow仅请求终止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.