我使用 C# 工作,因此我将其发布在 C# 下,尽管这可能是一个可以用任何编程语言回答的问题。
有时我会创建一个方法来执行诸如将用户登录到网站之类的操作。我经常从该方法返回一个布尔值,但这通常会导致问题,因为布尔返回值不传达任何上下文。如果在登录用户时发生错误,我无法知道是什么导致了错误。
这是我当前使用的方法的示例,但想更改以使其返回的不仅仅是 0 或 1。
public bool LoginToTwitter(String username, String password)
{
// Some code to log the user in
}
上述方法只能返回 True 或 False。这很好用,因为我可以调用以下命令:
if(http.LoginToTwitter(username, password))
{
// Logged in
} else {
// Not Logged in
}
但问题是我无法知道用户未登录的原因。可能存在多种原因,例如:错误的用户名/密码组合,暂停帐户,帐户需要用户注意等。但是使用以下方法,并且逻辑,这是不可能知道的。
我有什么替代方法?