1

或者任何其他将 gui 小部件作为第一个调用端口的设计,未处理的异常会杀死应用程序?

我们都想要一个主要的:“抓住所有”以节省面子(尽管在大多数情况下,这不应该具有“继续”功能),但是不可能使用作为第一个调用端口的 gui 小部件轻松实现一个。这个设计有缺陷还是我在某个地方漏掉了一个技巧?

我之所以问这个问题是因为我正在阅读该语言的设计者的一篇文章,他说异常处理应该是集中的,而我首先想到的是 WinForm 事件机制,这变得很困难。

WinForm/GUI 团队是在听他的,还是到那时可能为时已晚?

4

2 回答 2

2

您可以在 Application.Run 周围放置一个 try/catch,并处理 Application.ThreadException。在处理程序中,您可以记录异常并退出。

除了上述之外,我通常会在对业务层的所有调用(以及对客户端层中的外部资源的所有访问,例如导出到文件)的所有调用中放置一个异常处理程序,这些调用会显示错误但不退出应用程序。

于 2008-12-22T10:50:21.600 回答
1

你知道Application.ThreadException吗?我并不是说它一定是最好的答案,但它至少是一个答案......

于 2008-12-22T10:34:27.340 回答