c# throw的用法
c#中throw到底是干什么用的,它是捕获异常,然后弹出异常对话框吗?像MessageBox.Show一样吗?它可以和try,catch连在一起使用吗?如下例:
if (e.ClickedItem == print)
{
i = 0;
try{
if (((Form2)ActiveMdiChild).txtMain.Text.Length < 1)
return;
this.printDocument1.Print();
}
catch (Exception err)
{
throw new Exception("打印发生错误"+err.Message);
//MessageBox.Show("打印发生错误",err.Message,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
以上代码,编译可以通过,但是运行程序出现异常的时候,没有弹出异常对话框,而是程序崩溃了,出现错误是:示处理exception
打印发生错误未将对象引用设置到对象的实例.
是不是代码中的throw用法错了,不能这么用,那到底应该怎么用.
额,那怎么改?
人气:370 ℃ 时间:2020-03-24 16:00:36
解答
new Exception是用来人为的制造一个异常.而throw 是把这个异常抛出.这样我们就可以定义自己想要的异常信息了.但要注意的是,抛出了异常就一定要处理,不处理的话系统就崩了.你这里用得不合适.据个例子,异常抛出可以这...
推荐
猜你喜欢
- 镀锌钢管1/2"
- 1,2,3,4,5这5个数字算22,用且只能用加减乘除,只能用一次
- 从鲁肃对吕蒙的态度变化可以看出,鲁肃具有一个好领导必备的什么品质
- 24分之7×14分之6=
- 720除37乘36用简便方法怎么做
- 2根绳子,第一根比第二根长16米,第一根绳长是第二根的5倍,2根绳子分别长多少米
- is this museum ___ we visited last year
- this coming Sunday是什么时态?this Sunday又是什么时态?两者一样吗?