应该捕获到了,我是这样写的
int a=int.Parse(textBox1.Text);//textBox1.Text="0"
double x=0;
try
{
x =  1/a;
}
catch(Exception err)

MessageBox.Show(err.Message);
x = 0;
}
MessageBox.Show(x.ToString());

解决方案 »

  1.   

    不会吧?
    int a=0;
    double x=0;
    try
    {
    x =  1/a;
    }
    catch(Exception err)

    MessageBox.Show(err.Message);
    x = 0;
    }
    MessageBox.Show(x.ToString());我显示的错误信息是“试图除以零”,你怎么不报错呢?
      

  2.   

    可以抛出异常:
    int b=0;
    int a=3;
    int x;
    try
    {
    x =  a/b;
    }
    catch(Exception)

    x = 0;
    }
      

  3.   

    看你的a,b是什么数据类型了,如果是int肯定会抛出异常,如果是double就不会
      

  4.   

    被楼上说中了,我用的double类型,真是细微处见功夫啊
      

  5.   

    C# 中的 double 
    是有  极大值 和 极小值 的概念的
    所以 double 类型的 除法没有 除0异常
      

  6.   

    double和float除零不会发生异常,这是符合IEEE浮点运算标准的。
    通常的返回可以是Single/Double.NaN,在.NET上的返回则是Single/Double.Positive/NagetiveInfinity。