gpt4 book ai didi

c# - Windows 手机 : Application Exits after handling Exception from DialogForm

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:10 25 4
gpt4 key购买 nike

我有以下简单场景:

一个带有 Button 的 DialogForm,Button_click 抛出异常。

带有按钮和标签的 MainForm,在单击时我在 Catch block 中显示 DialogForm 的新实例。

如果我在常规 WinForms 中运行此设置,我可以按预期捕获异常。

如果我在 WinMobile 中运行它(我已经在 WM5 和 WM6 Pro 上测试过),我可以使用调试器看到 Catch block 已输入 但异常继续向上传播 并且应用程序死掉了。

MainForm 中的代码如下所示:

try
{
using (DialogForm frm = new DialogForm())
{
DialogResult r = frm.ShowDialog();
label1.Text = r.ToString();
}
}
catch (Exception ex)
{
label1.Text = ex.Message;
}

编辑:

我进一步调查了一下,在这段代码和 Application.Run() 周围使用了一个 catch {} block ,应用程序仍然退出。

显然它不是失控的异常,它被捕获并处理得很好。但在此操作之后,应用程序似乎执行了不需要的 Exit()。

最佳答案

在修补之后我发现了一些有用的东西:

try {
// show Dialog that Throws
}
catch (Exception ex) {
label1.Text = ex.Message;
Application.DoEvents(); // this solves it
}

赏金仍然开放给任何可以告诉我 为什么 DoEvents() 是必要的人。

关于c# - Windows 手机 : Application Exits after handling Exception from DialogForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/724644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com