【发布时间】:2019-02-25 03:16:46
【问题描述】:
我正在尝试从文本框中捕获 FormatException。例如 - 如果用户在名称文本框字段中输入数字或任何其他字符。将弹出消息 - 出了点问题。我对 C# 相当陌生,我不了解异常的概念。下面不起作用。无效格式的正确例外是什么?
private void button1_Click(object sender, EventArgs e)
{
try
{
string name = textBox1.Text;
int age = int.Parse(textBox2.Text);
}
catch (FormatException )
{
MessageBox.Show("Something went wrong");
}
【问题讨论】:
-
您在
textBox1和textBox2中输入了什么值? -
你想在 MessageBox 中看到什么消息?
-
Try catch 在按钮点击时被调用。我在文本框 1 中输入名称,该名称必须是字符串格式,否则我想显示消息框说“出了点问题”。
-
您没有对
textBox1.Text进行任何验证。这就是为什么您没有收到错误的原因。如果您希望用户只输入字符串值(而不是数字),您可以通过多种方式实现它。检查This Anwser -
请举例说明。描述您在两个文本框中输入的内容。并告诉我们您的预期结果和实际结果。我要求这个是因为不清楚你想要发生什么。如果我不得不猜测,此时,您似乎想禁止某人在“姓名”文本框中输入数字。那正确吗?你知道如果你传递一个空字符串 int.Parse 会抛出一个异常吗?当您单击按钮时,您的 textBox2 可能只是空的,这就是发生异常的原因 - 因为 textBox2.Text 是空的。
标签: c# exception-handling