如果没有错误继续..如果出现错误,则执行其他操作

Nig*_*Vil -4 c#

嗨,我有一个问题,我有一些工作良好的代码,如我使用它的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");
}
Run Code Online (Sandbox Code Playgroud)

tan*_*ius 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");
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:这里我使用的是全局catch( Exception ),应该谨慎使用!对于测试方法,这没有问题,但不要在生产代码中执行此操作.您至少应该在那里指定预期的异常,并考虑如何处理这种情况.

  • +1.我发布了几乎完全相同的答案(但我的速度较慢.:)**注意:**你可以将`catch(Exception)`简化为`catch`.也就是说,我同意在大多数情况下,这不是一个好主意.代码应该只捕获它知道如何处理的异常; 不应该捕获所有其他异常(即多数),或者至少应该使用`throw;`重新抛出它们. (2认同)