3

试图弄清楚如何使用 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";
        }


    }
4

2 回答 2

3

您不应该让异常决定程序流程。当您具有以下功能时,在这里这样做是没有意义的int.TryParse

int output = 0;

if (int.TryParse(txtNumber.Text, out output)) {
    // its a number
}
else {
    // it isn't a number
}
于 2013-10-05T12:22:32.767 回答
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;
    }
于 2013-10-05T12:22:53.767 回答