哪个Catch Execption要使用?
我不想使用try和catch检查复选框R1P1时,弹出消息框。但是我不知道把什么放在catch里面()。哪个Catch Execption要使用?
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");
}
我试过catch(R1P1.Checked == false;)但它不工作。 在程序中,您有一堆票系统的复选框,当您不检查任何人时,无论如何请单击继续,我希望复选框出现。
请告诉我尝试捕捉呢?这是行不通的:
private void button2_Click(object sender, EventArgs e)
{
if (R1P1.Checked)
{
string Plats1 = "R1P1";
TxtP.Text = Plats1;
}
else
{
TxtP.Text = null;
MessageBox.Show("Hey");
}
}
好点乔恩! 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");
}
}
理想情况下,没有无意义的局部变量'Plats1' :) – 2013-05-12 11:42:56
使用try和catch的目的是为了更高的成绩... – user2367396 2013-05-12 11:43:09
@ user2367396:然后你应该找到一个不同的例子,其中例外*是*合适的。 – 2013-05-12 11:43:39
在这种情况下,try{}catch{}
块根本没有点。
为什么要抓住一个例外呢?
你已经知道时不会检查它 - 只要调用消息框,您else
条款:
if (R1P1.Checked)
{
TxtP.Text = "R1P1";
}
else
{
TxtP.Text = "";
MessageBox.Show("Hey");
}
你不抓住条件 - 你赶上* *例外。没有任何迹象表明这里有例外情况或需要例外。 – 2013-05-12 11:42:35
Try/Catch块不常用于流量控制。在某些情况下,他们可以像这样使用,但你的不是其中之一。 – Dirk 2013-05-12 11:42:47
似乎你不能在这个特定的场景中使用try和catch。感谢您的回答和评论! – user2367396 2013-05-12 11:50:21