gpt4 book ai didi

c# - 从 C# 模块抛出异常

转载 作者:行者123 更新时间:2023-11-30 19:30:07 26 4
gpt4 key购买 nike

我们的应用程序是模块化的(一组做特定事情的模块)。这些模块具有事件处理程序。这些事件可以从其他模块或应用程序菜单中触发。

情况:

模块 A(具有 UI)收到事件“deleteitem”。事件参数应包含要删除的项目名称。但在这种情况下它是空的。在某个地方,有人搞砸了。

问题:

模块应该抛出吗?请记住,该模块将抛出一个事件处理程序并可能使应用程序崩溃,因为模块编写者不知道是否处理了异常。

以上场景是一个更大问题的快照,该问题涉及从模块中抛出异常,这可能会导致应用程序崩溃。反对它的论点是应用程序可以在没有特定模块的情况下继续工作。那么,谁应该确保 - 模块还是应用程序?

最佳答案

如果项目名称是预期始终存在的东西并且它是 null 是一种特殊情况,永远不应该发生,你应该像现在一样抛出你的应用程序处于不应该发生的未知状态

如果调用者可以从中恢复,他们将编写自己的异常处理例程来处理它。

关于c# - 从 C# 模块抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974917/

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