c# throw的用法c#中throw到底是干什么用的,它是捕获异常,然后弹出异常对话框吗?像MessageBox.Sh
1个回答

new Exception是用来人为的制造一个异常.而throw 是把这个异常抛出.

这样我们就可以定义自己想要的异常信息了.

但要注意的是,抛出了异常就一定要处理,不处理的话系统就崩了.

你这里用得不合适.

据个例子,异常抛出可以这么用,我现在用类A中的aa方法,调用实例b中的bb方法,大小写什么的可能都不对,将就着看看吧:

class A

{

private void aa()

{

B bb =new B();

try//这里调用了B的bb方法,并且捕获了bb抛出的异常同时进行了处理

{

bb.bb();

}

catch(Exception e)

{

messagebox.show("Class B Error:"+e);//这里处理了bb的异常信息

}

}

}

class B

{

int i = 0;

public void bb()

{

if(this.i != 0) //这里我随便做了个假设,看着意思明白就可以了

{

throw new Exception("电脑故障了,i不可能大于0.");

}

}

}

你这里就不要用throw了,直接用一个messagebox.show(("打印发生错误"+err.Message);就可以了.