当前位置:  开发笔记 > 编程语言 > 正文

从失败的方法返回什么以及何时投掷?

如何解决《从失败的方法返回什么以及何时投掷?》经验,为你挑选了1个好方法。

我最近一直在考虑从方法中返回的东西,我注意到当方法失败时我会返回4种不同的东西.

困扰我的是,我的代码在这方面不是很有用,所以我想询问你的"最佳实践".

因此,让我们设想一个采用Foo并返回Bar列表的方法:

public IList Method(Foo something);

或者保持更一般:

public IBar Method(IFoo something);

问题是你在什么样的失败中返回什么.选项将是:

    空返回类型如:new List; 或:new EmptyBar();

    空值

    抛出一个例外

    表示失败的特殊列表值:new List {new FailureBar()}

我真的很讨厌选项4,所以我大部分都倾向于听你何时使用其他3个选项以及为什么



1> Rob Stevenso..:

我会根据失败的性质在空列表和异常之间进行选择.

例如

如果您的数据库连接失败 - 异常.

如果您的查询没有返回结果 - 空列表.


这就是我说失败的原因.
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有