我的代码目前看起来像这样:
private void logBtn1_Click(object sender, EventArgs e)
{
String email = textBox1.Text;
String password = textBox2.Text;
if (email.Contains("@"))
{
MessageBox.Show("Valid email!");
}
else
{
MessageBox.Show("Please enter a valid email address");
}
}
如果电子邮件字符串包含"@"
字符,我希望能够使用try-catch显示错误消息 - 这可能吗?我知道这可能不是一个很好的方法,检查一个@字符并不是一个很好的方法来验证输入是一个合法的电子邮件,但我不知道如果可能的话,仍然希望能够通过try catch执行此操作。
答案 0 :(得分:1)
我仍然希望能够尝试使用try catch执行此操作
你可以,但你不应该。 try...catch
块用于不受控制的异常,例如磁盘已满,因此无法写入文件或类似情况。你不想使用它,因为它会因你的表现而恶化。
如果您可以在没有try...catch
的情况下对其进行编码,那么您应该这样做。当我查看您的代码时,我认为它几乎可以做的就是使检查正确。我只想添加一个空检查。
答案 1 :(得分:1)
如果您必须使用try catch
,您可以执行以下操作:
void ValidateEmail(string email) {
if (!email.Contains("@"))
throw new FormatException();
}
并在try catch
内围绕对该代码的调用。
但是,我真的找不到你想要这样做的理由。