显示从Windows窗体中抛出的正确错误消息

时间:2013-04-08 07:07:38

标签: c# winforms error-handling

我正在处理Windows Forms申请。在我有几个try-catch块的构造函数中发生了很多事情。但是作为最终结果,我想在form_shown事件上显示错误消息。我不确定这样做的正确方法是什么。我正在考虑从所有表单中查看字符串变量,然后在每个try-catch块中设置不同的消息,通过在form_shown事件中调用显示此字符串变量的值来显示我想这样做。

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

1 个答案:

答案 0 :(得分:1)

您违反了两个重要的guidelines

  

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

  

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

所以,回答你的问题,如果构造函数阶段出现任何问题:立即显示它。它应该意味着无法构造对象。

我不知道这些很多东西是在构造函数中发生的事情,但我很确定你应该将它推迟到以后的时刻,例如形式负荷。但仍然:显示它们发生的例外情况。