c# throw的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# throw的用法相关的知识,希望对你有一定的参考价值。

参考技术A 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);就可以了。
参考技术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的用法的主要内容,如果未能解决你的问题,请参考以下文章

throw与throws用法

java抛出异常thorw和throws的用法

SQL Server 2012 Throw关键字

在java中throw与throws各自用在啥地方?

java中带有throws的方法中一定要加throw吗?

JAVA的异常用法