gpt4 book ai didi

c# - 如何显示来自非 GUI 相关类的 GUI 应用程序的错误消息?

转载 作者:行者123 更新时间:2023-11-30 17:17:45 24 4
gpt4 key购买 nike

我知道我可以使用类似 MessageBox.Show("some error") 的东西,但我说的是在我的代码中发生在某个较低级别的错误,没有业务抛出MessageBox 或任何其他 GUI 元素。

我正在构建一个 RSS 客户端,我有一个管理各种提要的类(比方说 FeedManager),此时它只是一个列表的包装器。现在这个类调用另一个类来访问数据。因此,只要 GUI 中有人想要保存提要,GUI 只需调用 FeedManager.SaveFeeds() 即可处理提要并将它们保存到文件、数据库等。所以我尝试保存到文件并且发生了一些不好的事情(我编码的东西或异常)。所以现在我至少有 3 层深度,GUI -> FeedManager -> SomeDataAccessLayer,我想向用户显示一条消息像“嘿,找不到那个文件”或“你没有权限写入那个位置”,等等......

我该怎么办?从数据访问层抛出一个 MessageBox 公然将该组件耦合到 GUI。让所有方法返回带有任何错误消息的字符串似乎也很愚蠢。

最佳答案

非 GUI 代码确实不应显示 MessageBox。

标准方法是抛出异常。

您的 GUI 应该使用 try/catch block 围绕对 SaveFiles() 的调用并采取适当的操作,例如显示消息框。

也许您忽略了一点,这正是异常的用途:通过(多个)方法调用传达错误。

关于c# - 如何显示来自非 GUI 相关类的 GUI 应用程序的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282238/

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