实现无用户输入的异常
本文关键字:异常 输入 用户 无用 实现 | 更新日期: 2023-09-27 18:17:45
下面是if语句,输入框的证书是有效的,我试图创建一个异常方法,如果在文本框的
中没有检测到输入,将输出一个消息框。使用下面的代码,当没有输入任何内容时,它将输出消息"not authenticated"以及IsNullOrWhiteSpace的两个消息。我试图得到它,所以如果没有输入,将出现一个消息框询问用户名和密码,但我不希望消息"未验证",如果这是有意义的?
我怎么能实现这到我的代码下面?
public void button1_Click(object sender, EventArgs e)
{
var username = textBox2.Text;
var password = textBox1.Text;
bool isvalid = auth.ValidateCredentials(username, password);
{
if (isvalid == true)
{
MessageBox.Show("Authenticated!");
}
else
{
MessageBox.Show("Not Authenticated!");
}
if (isvalid = string.IsNullOrWhiteSpace(username))
{
MessageBox.Show("Username is empty, please enter a username!");
}
if (isvalid = string.IsNullOrWhiteSpace(password))
{
MessageBox.Show("Password is empty, please enter a password!");
}
}
}
在尝试验证之前执行这些检查,如果其中一个为空,则退出该方法:
if (string.IsNullOrWhiteSpace(username))
{
MessageBox.Show("Username is empty, please enter a username!");
return;
}
if (string.IsNullOrWhiteSpace(password))
{
MessageBox.Show("Password is empty, please enter a password!");
return;
}
bool isvalid = auth.ValidateCredentials(username, password);
if (isvalid)
{
MessageBox.Show("Authenticated!");
}
else
{
MessageBox.Show("Not Authenticated!");
}
请注意,我在if
语句中删除了对isValid
的赋值,因为它是不必要的。在bool isValid
分配之后,我还删除了{ }
。{ }
用于定义一个新的作用域,通常在if
或循环语句之后。它们在这里没有伤害任何东西,但也没有必要。
在你的逻辑中,我会使用抛出异常:
throw new System.ArgumentException("password cannot be null", "original");
哦,在你的if语句中,你应该比较==
运算符,而不是分配=