使用哪种Catch Exception?

时间:2013-05-12 11:38:50

标签: c# checkbox try-catch

我希望在未使用try和catch检查复选框R1P1时弹出消息框。但是我不知道在catch中放入什么内容?

    private void button2_Click(object sender, EventArgs e)
    {
        try
        {
            if (R1P1.Checked) 
            {
                string Plats1 = "R1P1"; 
                TxtP.Text = Plats1;  
            }
            else 
            {
                TxtP.Text = null; 
            }
         }
        catch (???) 
        {
            MessageBox.Show("Hey");
        }

我尝试过捕获(R1P1.Checked == false;)但它不起作用。 在程序中,你有一堆票证系统的复选框,当你没有检查其中任何人但是仍然点击继续时,我想要出现复选框。

2 个答案:

答案 0 :(得分:3)

在这种情况下,try{}catch{}块中没有任何意义。

为什么要捕捉异常?

未选中时,您已知道 - 只需调出else子句中的消息框:

if (R1P1.Checked) 
{
    TxtP.Text = "R1P1";  
}
else 
{
    TxtP.Text = ""; 
    MessageBox.Show("Hey");
}

答案 1 :(得分:2)

尝试捕获的是什么?这不起作用:

private void button2_Click(object sender, EventArgs e)
{

        if (R1P1.Checked) 
        {
            string Plats1 = "R1P1"; 
            TxtP.Text = Plats1;  
        }
        else 
        {
            TxtP.Text = null; 
             MessageBox.Show("Hey");
        }
 }

Good Point Jon! AFAIK {}定义了一个具有自己范围的代码块:因此,当您点击关闭括号时,通常在它们之间声明的任何内容都将不再存在。这个字符串Plats1永远不会被使用,在其他地方也看不到。

使其相同:

private void button2_Click(object sender, EventArgs e)
{
        if (R1P1.Checked) 
        {
            TxtP.Text = "R1P1";  
            //anything declared here (i.e. a new variable)
        }//is gone by here
        else 
        {
            TxtP.Text = null;
            MessageBox.Show("Hey");
        }
 }