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

标签 c# wpf modularity

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

情况:

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

问题:

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

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

最佳答案

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

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

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

相关文章:

c# - 如何使用带有 Serilog 的 postsharp 来分离日志记录方面?

c# - C#中的"MoveFile"函数(重启后删除文件)

c# - Entity Framework ——高效删除所有子实体而不加载它们

android - Android如何处理多个R.java?

java - 模块化应用程序的设计模式(如何重用实体)

C# 多线程代理检查器

wpf - 结束日期不能小于开始日期 (WPFToolkit DatePicker)

c# - WPF 和 MVVM Light - 在 UserControl 中动态显示用户控件

wpf - 如何重构 WPF 中的事件?