0

我正在开发一个Windows Forms应用程序。在我有几个try-catch块的构造函数中发生了很多事情。但是,作为最终结果,我想在form_shown事件中显示错误消息。我不确定这样做的正确方法是什么。我正在考虑使一个字符串变量从所有表单中可见,然后在每个try-catch块中设置不同的消息,这些消息将通过form_shown在我想要执行此操作的事件中调用显示此字符串变量的值来显示。

但这似乎不是很好的方法。我更喜欢的是某种方式来重新抛出异常或类似的东西并在form_shown事件中处理它。我认为这更接近正确的错误处理方法。

4

1 回答 1

1

您违反了两个重要准则

在构造函数中做最少的工作。除了捕获构造函数参数之外,构造函数不应该做太多工作。任何其他处理的成本应延迟到需要时。

如果合适,请从实例构造函数中抛出异常。构造函数应该像任何方法一样抛出和处理异常。具体来说,构造函数不应捕获和隐藏它无法处理的任何异常。

因此,要回答您的问题,如果在构造函数阶段出现任何问题:立即显示。这应该意味着无法构造该对象。

我不知道构造函数中发生了这么事情,但是我很确定您应该将其推迟到稍后的时刻,例如表单加载。但仍然:显示异常发生的地方。

于 2013-04-08T07:16:17.533 回答