【发布时间】:2010-11-16 19:30:01
【问题描述】:
我在这里读过:CodeProject
以及其他一些每个线程应该有一个 catch 块的地方。在winforms的上下文中我不太了解这一点。在winforms的情况下也是如此吗?我知道工作线程应该有一个 catch 块。但是,我在 UI(主)线程上有多个 catch 块,这些块总是最终调用我的私有 HandleError 方法传递异常。然后,此方法负责如何向用户显示错误。所以,假设我可能有一个try/catch block in button1_click handler and another try/catch block in another button2_click handler。这是一个好习惯吗?有人可以告诉我是否应该做一些不同的事情。谢谢。
【问题讨论】:
-
添加...我知道可以使用每个线程和应用程序域的全局挂钩来捕获未处理的异常。
-
我的收获:有一个用于工作线程的单个 try/catch 块。主线程可以有多个 try/catch 块。
标签: winforms multithreading exception-handling