4

当我使用取消按钮关闭程序时,我收到一个应用程序错误,它所做的只是关闭表单。

错误说:“应用程序 appName.exe 遇到严重错误,必须关闭”

我该如何开始修复它?它不是抛出的异常;没有给出其他信息。它可能是什么,我该如何解决?

4

5 回答 5

7

这就是它的样子。我的应用程序有两种形式 - 登录和主表单,所有操作都在其中发生。登录表单有两个按钮(登录和取消)。登录按钮登录用户,关闭登录表单并打开主表单。取消按钮只是关闭登录表单。要关闭表单,我只需使用 this.Close()。

但是发生的事情是,我仍然需要通过执行以下操作来明确处理登录表单:

frmLogin.Dispose();
frmLogin = null;

在退出程序之前(在我的 Program.cs 中)

所以这解决了它。我必须确保在两种情况下都这样做:用户登录时以及他们选择不登录时。

关键的事实是 frmLogin 是模态的,因此 Dispose() 在关闭时不会自动调用。

于 2009-10-02T00:18:25.213 回答
1

这通常是由托管代码无法捕获的进程空间中的系统级异常引起的。通常,当您 P/Invoke 到本机代码并为其提供错误的指针/参数并导致 CLR 未捕获的本机异常时,就会发生这种情况。

于 2009-09-30T12:48:32.857 回答
0

在 Program.cs 中的 Application.Run(...) 行周围放置一个 try/catch 块,如下所示:

try
{
    Application.Run(new Form1());
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

您看到的消息意味着有一个未捕获的抛出异常。

于 2009-09-29T23:29:55.370 回答
0

查看一些 GUI 组件、DLL 或端口资源。有时是未关闭的端口,有时是一些 GUI 组件(我处理一些 List GUI 组件)

于 2011-03-20T14:43:05.180 回答
0

我安装了 resharper,它的缓存正在产生问题。我删除了缓存,它起作用了。

于 2013-06-07T20:27:47.160 回答