gpt4 book ai didi

c# - 异常(exception) - 最佳实践

转载 作者:行者123 更新时间:2023-12-02 22:22:53 26 4
gpt4 key购买 nike

我一直在考虑异常处理。

实现根据提供的用户名参数获取 User 对象的方法的最佳实践是什么。见下文。

    /// <summary>
/// Gets a user.
/// </summary>
/// <param name="username">Username</param>
/// <returns>User instance</returns>
public Model.User GetUser(string username)
{
return Context.Users.SingleOrDefault(u => u.Username.ToLower() == username.ToLower());
}

如果不存在具有该 username 参数的用户,返回空 User 对象或抛出指定用户不存在的自定义异常会更好。

最佳答案

抛出异常。否则,您的调用者、调用者的调用者以及其他所有人都需要检查 null,或者需要处理一个空集合。

如果这是一个通用方法,意味着在调用者知道他需要检查 null 的上下文中使用,那么我会做一些不同的事情。如果没有匹配的用户,我会有一个返回 null 的 private 方法。我会添加一个使用“try”模式的调用者:

public bool TryGetUser(string username, out Model.User user)

还有一个简单地返回用户,但如果找不到则抛出异常

public Model.User GetUser(string username)

关于c# - 异常(exception) - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423001/

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