c# throw的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# throw的用法相关的知识,希望对你有一定的参考价值。
参考技术A newException是用来人为的制造一个异常。而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);就可以了。 参考技术B 上面好像都说的太复杂了
throw就是用来抛出异常的,
比如你在一个方法
A
中,使用throw语句抛出了一个异常,则调用了
A
方法的地方,必须进行捕捉,或者继续抛出,一直到
main方法,如果main方法也没有进行捕捉,系统则崩溃。
总之一句话,系统碰到没有捕捉的异常,立刻停止,你的弹出对话框的语句,在throw语句的后面,throw语句一执行,调用
A
方法的地方,立刻捕捉到了这个异常,并进行处理,throw后面的语句并没有执行。
加个断点调试一下,你就会明白了。
c# throw抛出上一个异常
catch(exception e) { throw; }
不仅抛出这次的异常,也抛出之前的异常。
用法示例:函数A调用函数B,A用到此throw时,B中发生的异常也会继承过来。
catch(exception e) { throw e; }
当调用异常位置的时候,仅显示这个位置。
在上个用法中,B中的位置不会出现。
以上是关于c# throw的用法的主要内容,如果未能解决你的问题,请参考以下文章