或者任何其他将gui小部件作为第一个调用端口的设计,其中未处理的异常会杀死该应用程序?
我们都想要一个主要的:“全部捕获”以保存面部(尽管在大多数情况下这不应该有“继续”功能)但是不可能轻易地实现一个gui小部件,这是第一个端口呼叫。这个设计有缺陷还是我在某个地方错过了一个技巧?
我问这个是因为我正在阅读该语言的设计者article,并且他说异常处理应该是集中的,并且首先出现在我脑海中的是WinForm事件机制,这会变得很困难。
WinForm / GUI团队是在听他说话,还是可能已经太晚了?
答案 0 :(得分:2)
您可以在Application.Run周围放置一个try / catch,并处理Application.ThreadException。在处理程序中,您可以记录异常并退出。
除了上述内容之外,我通常会对业务层的所有调用(以及对客户端层中的外部资源的所有访问,例如导出到文件)放置一个异常处理程序,它显示错误但不退出应用程序
答案 1 :(得分:1)
您知道Application.ThreadException吗?我不是说它一定是最好的答案,但它至少是 答案......