尝试/捕获异常

时间:2012-03-22 09:54:18

标签: c#

  

可能重复:
  How to catch exceptions

我没有必要使用try和catch异常。我试图使用try / catch来捕获潜在的错误。现在我不确定在哪里试试并抓住这是我现在的代码..

 divide d;
    private void button1_Click(object sender, EventArgs e)
    {
        d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
        int total = d.CalculateDivision();
        MessageBox.Show(total.ToString());
    }

现在我会把它放在这里

try
{

}
catch
{
MessageBox.Show("error");
}

或者我会在代码中的某处添加try / catch。

4 个答案:

答案 0 :(得分:2)

请参阅http://msdn.microsoft.com/en-us/library/ms173160.aspx

try围绕抛出异常的代码并处理值。在你的例子中:

 divide d;
private void button1_Click(object sender, EventArgs e)
{
  try
  {

    d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
    int total = d.CalculateDivision();
    MessageBox.Show(total.ToString());
  }
  catch(Exception)
  {
     MessageBox.Show("error");
  }
}

因为如果没有例外,你只能显示总数。

答案 1 :(得分:1)

不,那是对的;)。 就像你在那里向我们展示的那样使用它:

try
{
    // Your Code.
}
catch (Exception ex)
{
    MessageBox.Show(ex);
}

答案 2 :(得分:1)

你几乎有答案,如果抛出异常,你可以这样做以获得更多关于可能导致它的原因的信息:

try
{
    //your code:
    d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
    int total = d.CalculateDivision();
    MessageBox.Show(total.ToString());
}
catch (Exception ex)
{
    MessageBox.Show("Error has occured! " + ex.Message);
}

当您了解异常处理时,您看到的另一个提示是查看 finally 块,无论是否有异常,都会执行此操作,它会在尝试之后执行捕获块:

finally
{
    // this code will always execute, maybe do some cleanup here
}

答案 3 :(得分:0)

你会做这样的事情:

private void button1_Click(object sender, EventArgs e)
{
    try
    {
       d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
       int total = d.CalculateDivision();
       MessageBox.Show(total.ToString());
    }
    catch(Exception error)
    {
        MessageBox.Show(error.Message);
    }
}