【发布时间】:2011-09-10 17:30:12
【问题描述】:
注意:我不经常进行 .NET 编程。通常我做原生/MFC,所以我有点迷失如何在 C# 的上下文中正确地做到这一点。
我们在 native MFC 应用程序的上下文中显示 .NET 控件。这意味着 GUI 线程是调用 .NET 控件的 WndProc 的本机线程。 (嗯,至少据我所知。)
显然,我们确实不想从我们的 (GUI) 事件处理程序中抛出异常,因为调用堆栈中没有适当的处理程序可以捕获它们。
据我所知,AppDomain / UnhandledExceptionEventHandler 的解决方案在本机 MFC 应用程序中没有意义。 (如果我错了,请纠正我。)
回到问题:如何避免必须向 C# 控制代码的每个事件处理程序添加 try/catch 块?是否有某个地方(可能是 System.Forms...Control.WndProc?)我可以捕获所有 .NET 异常并向用户显示错误对话框?
【问题讨论】:
-
Martin 时不时会出现像您这样的问题,实际上最好的办法是一一处理这些异常,因为根据您所处的位置,您会更好地了解如何处理它。这不仅是关于记录或显示消息框,更是关于以不同方式对不同情况做出反应。
标签: .net user-interface exception mfc