代码之家  ›  专栏  ›  技术社区  ›  Miyagi Coder

解释失败原因的最佳方法

c#
  •  2
  • Miyagi Coder  · 技术社区  · 15 年前

    public class foo
    {
        public bool DoSomethingAwesome()
        {
            bool bar = DidSomething() //suppose this sends an email;
            return bar;
        }
    
    }
    

    如果我想提供更多关于为什么DidSomething返回false的详细信息,那么最佳做法是将消息分配给foo的属性,还是将Out参数分配给DoSomethingAwesome?

    4 回复  |  直到 15 年前
        1
  •  5
  •   Mike Dinescu    15 年前

    • 对于Win32-您有SetLastError, GetLastError。
    • 对于.NET来说,它通常是

    也许可以找个外行。

    Design Guidelines for Exceptions “书中有很多讨论” Framework Design Guidlines “-第七章,我极力推荐!

        2
  •  2
  •   Samir Talwar PruthviRaj Reddy    15 年前

    这在很大程度上取决于你在做什么,但在发送电子邮件的情况下,我会根据出错的地方抛出不同的异常。由于发送电子邮件应该几乎每次都能正常工作,所以当有不好的事情发生时,我希望强制打电话的人处理它,而不是默认情况下忽略它。

    false enum 对于每种类型的失败都有一个值,对于成功则有一个值,并返回该值而不是 bool

        4
  •  0
  •   dr. evil    15 年前

    如果false条件不是“异常”( 不是很少而是均匀地发生 )然后,您不应该使用异常。在这种情况下,使用out参数要好得多。