gpt4 book ai didi

.net - 表单加载事件中未处理的异常

转载 作者:行者123 更新时间:2023-12-03 23:11:29 25 4
gpt4 key购买 nike

我刚刚在 .Net 中遇到了异常处理的奇怪行为。 (我在 MS Visual Studio 2008 中使用 C#,但我在这里看到的一个问题似乎暗示我在整个 .Net 世界中看到的都是真实的。)我正在编写一个普通的 WinForm 应用程序。我故意在任何 try 块之外的 form_load 事件处理程序中引发未处理的异常。我没有收到通知。如果在正常方法中发生未处理的异常,则会弹出一条消息,告诉我发生了异常,并提供有关问题的一些信息。但是在处理程序中,代码只是悄悄地退出了函数,而不让任何人知道它发生了。如果添加 try/catch 块,则会按预期捕获异常。

这种行为是否真的发生在所有事件处理程序中?这是预期的行为吗?如果是这样,是不是因为如果事件处理程序意外停止,发生坏事的风险太大了?

最佳答案

无论是在 VS 内部还是外部,当有调试器附加到进程时都会发生这种行为。但是,作为调试版本没有区别。如果在没有附加调试器的情况下在 VS 之外运行,则会触发未处理的异常。
你可以检查

Why the form load can't catch exception? , 和
VS2010 does not show unhandled exception message in a WinForms Application on a 64-bit version of Windows , 可能的解决方案。

编辑:据我所知,此行为仅特定于 form_load 事件处理程序。

关于.net - 表单加载事件中未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15281848/

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