我在数据访问层上有一些功能
public Order RetrieveById(int id)
public List<Order> RetrieveByStatus(OrderStatus status)
现在我对异常引发有点困惑。
在 RetrieveById 函数的情况下,小于 1 的 id 是无效的 id,因此我想引发异常。而且我想为数据库中不存在的 Id 返回 null 。然后感觉我太复杂了。
在 RetrieveByStatus 的情况下,当数据库中没有该状态的数据时,我想返回一个空列表。
但是我看到有些人在 RetrieveById 不能返回任何东西时引发异常,但是 RetrieveByStatus 在没有记录时不应该引发异常还是应该引发异常?
谁能为我澄清这些概念?