嗨,我有一个问题,我有一些代码可以很好地工作,就像我使用它的70%的电脑但是......出于某种原因,有一些令人讨厌并喜欢做这样的事情(请记住)这是一个假设的
private void test_click(object sender, EventArgs e)
{
MessageBox.Show("hi");
//if it works ok without a error it continues to
MessageBox.Show("worked ok");
//if it encountered a error of some kind it would go to
MessageBox.Show("DID NOT WORK OK");
}
答案 0 :(得分:5)
try-catch(或try-catch-finally)怎么样?
private void test_click(object sender, EventArgs e)
{
MessageBox.Show("hi");
try
{
//if it works ok without a error it continues to
MessageBox.Show("worked ok");
}
catch( Exception )
{
//if it encountered a error of some kind it would go to
MessageBox.Show("DID NOT WORK OK");
}
}
注意:我在这里使用的是全局catch( Exception )
,应该谨慎使用!对于测试方法,这没有问题,但不要在生产代码中执行此操作。你应该至少在那里指定预期的例外,并考虑如何处理这种情况。
答案 1 :(得分:1)
我会建议日志信息而不是弹出消息。
答案 2 :(得分:0)
你可以使用try catch。
答案 3 :(得分:0)
当你说它不起作用时,你的意思是它会抛出一个异常,或者它只是默默地失败而没有任何解释?
如果它抛出异常,你应该使用类似
的东西private void test_click(object sender, EventArgs e)
{
try
{
MessageBox.Show("hi");
MessageBox.Show("worked ok");
}
catch(WheteverExceptionType ex)
{
MessageBox.Show("DID NOT WORK OK");
// you can also access the properties of the thrown exception "ex" here...
MessageBox.Show(ex.Message);
}
}
答案 4 :(得分:0)
本质:
try {
MessageBox.Show("hi");
DoSomethingThatMightFail();
MessageBox.Show("worked ok");
} catch (DoSomethingFailedException e) {
MessageBox.Show("Something did not work: " + e.Message);
}