使用try catch语句只允许用户在Button Click事件的文本框中输入整数

时间:2013-10-05 12:19:38

标签: c# wpf click

试图找出如何使用try catch语句,以便当我单击按钮输出数字是奇数还是偶数时,如果输入字符串而不是数字,将显示错误消息!我知道如何使用bool语句检查数字是否为字符串,只是想知道如何使用try catch或者是否可能!非常感谢任何帮助,提前谢谢!

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        int oddOrEven = 0;


        try
        {
             oddOrEven = Convert.ToInt32(txtNumber.Text);
        }

        catch
        {
            tbkOutput.Text = "You must enter a number, please try again";
        }

        if (oddOrEven % 2 == 0)
        {
            tbkOutput.Text = "Number is even";

        }
        else
        {
            tbkOutput.Text = "Number is odd";
        }


    }

2 个答案:

答案 0 :(得分:3)

您不应该让异常决定程序流程。当你有像int.TryParse这样的函数时,没有必要这样做:

int output = 0;

if (int.TryParse(txtNumber.Text, out output)) {
    // its a number
}
else {
    // it isn't a number
}

答案 1 :(得分:3)

你不应该真正实现基于try catch的任何逻辑,也许可以考虑使用TryParse

    int oddOrEven = 0; 
    if(!Int32.TryParse(txtNumber.Text, out oddOrEven))
    {
        tbkOutput.Text = "You must enter a number, please try again";
        return;
    }