我特意写个异常语句,但系统就是不抛出异常,运行到这句就完了,下面就不运行了,程序也不报错,代码如下
int a = int.Parse("l-"); //这句就应该抛出异常,但现在是运行到这就不往下运行了,其他一切正常
            DataRow desrow = FindRowFromCurrDs(int.Parse(desnode.Tag.ToString()));
            if (desrow == null)
            {
                PubInfo.ShowMessage("没有找到目的节点,请确认!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (int.Parse(desrow["类别"].ToString()) == 3)
            {
                PubInfo.ShowMessage("目的节点为员工,不能将任何数据托放到员工上!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (JudgeRelation(orgnode, desnode))
            {
                PubInfo.ShowMessage("目的节点为原节点的子孙,不能进行这样的操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            DataRow orgrow = FindRowFromCurrDs(int.Parse(orgnode.Tag.ToString()));
            if (int.Parse(desrow["类别"].ToString()) > int.Parse(orgrow["类别"].ToString()))
            {
                PubInfo.ShowMessage("目的节点的级别小于原节点的级别,不能进行这样的操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }我引用了一个别人写的类,也就只有调用这个类的时候才会出这问题,是不是这个类的什么属性设置问题?

解决方案 »

  1.   

    晕,在这段话外面加try catch
    try
    {
    ……
    }
    catch(Exception e)
    {
    ……//throw或者showmessage
    }
      

  2.   

    我知道加try catch能捕获异常,而现在我是想在调试环境下让他自己抛出异常,这样就很容易抓住代码错误
      

  3.   

    int a = int.Parse("l-"); //这句就应该抛出异常,但现在是运行到这就不往下运行了,其他一切正常 
    像这行语句,如果没有异常捕获,程序运行到这就会由框架抛出错误,如果是在调试程序,则开发环境就会弹出错误,并定位到该行语句,我要的就是这效果
      

  4.   

    不知道为什么,我自己用的就会被系统捕捉,建议你直接使用throw new Exception代替你那句
      

  5.   

    昏死
    哪有这样搞的不过即使你在这个方法里面不抛异常
    但至少你要在调用这个方法的外面捕捉异常
    那样就直接向上抛了你要是看他的异常内容,你可以在外面的Catch里面去找
      

  6.   

    用这句int a = Conver.ToInt32("l-");