gpt4 book ai didi

c# - 从失败的方法中返回什么以及何时抛出?

转载 作者:太空狗 更新时间:2023-10-29 19:53:32 26 4
gpt4 key购买 nike

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

令我困扰的是,我的代码在这方面不是很一致,所以我想问问您的“最佳实践”。

让我们想象一个方法,它接受 Foo 并返回 Bar 的列表:

public IList<Bar> Method(Foo something);

或者更笼统地说:

public IBar Method(IFoo something);

问题是你对什么样的失败返回什么。选项将是:

  1. 空返回类型,如:new List;或者:新的 EmptyBar();
  2. 抛出异常
  3. 一个指示失败的特殊列表值,如:new List{new FailureBar()}

我真的很讨厌选项 4,所以我很想知道您何时使用其他 3 个选项以及为什么

最佳答案

我会根据失败的性质在空列表和异常之间做出选择。

例如

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

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

关于c# - 从失败的方法中返回什么以及何时抛出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/720940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com