gpt4 book ai didi

c# - 何时引发异常或返回 null?

转载 作者:太空狗 更新时间:2023-10-30 00:33:13 25 4
gpt4 key购买 nike

我在数据访问层有几个函数

public Order RetrieveById(int id)
public List<Order> RetrieveByStatus(OrderStatus status)

现在我对异常引发有点困惑。

在 RetrieveById 函数的情况下,小于 1 的 id 是无效的 id,因此我想引发异常。我想为数据库中不存在的 Id 返回 null。然后感觉我太复杂了。

在 RetrieveByStatus 的情况下,当数据库中没有该状态的数据时,我想返回一个空列表。

但是我看到有些人在 RetrieveById 无法返回任何内容时引发异常,但是当没有记录时 RetrieveByStatus 不应该引发异常或者应该吗?

有人可以为我澄清这些概念吗?

最佳答案

在第一种情况下,我可能会寻求异常并自己处理,而不是返回 null。如果您的第一个方法以将返回的对象保存到 Order 引用的方式使用怎么办。很有可能NullReferenceException 被抛出,当有人试图调用该对象的方法或属性时。

对于第二种方法,我会像某些人建议的那样使用空列表。

关于c# - 何时引发异常或返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080585/

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