才学asp.net,用c#
主要是想用throw,我想知道为什么要用throw,看下面两段话
1
int.Parse("sdsd");
2
try
{
int.Parse("sdsd");
}
catch (Exception ex)
{ throw new Exception("字符格式有问题!",ex);
}
上面两种写法最后的报错信息都是一样的,搞不清楚这个throw到底有什么用?用在什么地方
我看不出来,请老鸟解答
主要是想用throw,我想知道为什么要用throw,看下面两段话
1
int.Parse("sdsd");
2
try
{
int.Parse("sdsd");
}
catch (Exception ex)
{ throw new Exception("字符格式有问题!",ex);
}
上面两种写法最后的报错信息都是一样的,搞不清楚这个throw到底有什么用?用在什么地方
我看不出来,请老鸟解答
解决方案 »
- ASP.NET 4.0有哪些新特性
- 传值和返回表问题
- 高难度问题:如何跨网站同步获取内容并返回?
- Jquery easyui combobox里面 当保存 在编辑的时候combobox里面就没有保存下来的值 需要从新选择 请高手们帮忙
- treeview如何操作
- 如何在如何使在后台执行的JS代码在前台完全加载完毕了再执行
- 如何显示资料库内的图片?
- 新手的一个关于ASP.NET网站的问题
- .net与javascript传值问题,请教
- 因为不会,才虚心请教---怎样根据我的用户权限动态的改变框架的菜单(隐藏或者调换),菜单是ascx文件,菜单的一些链接及方法在javascrip
- 关于javascript调用.exe文件
- 高难度问题,.net和数据库的
catch(Exception ex)
{
throw new Exception(Request.Url.ToString()+ex.Message+" 数据绑定失败!");
}
都是到那个难看的错误页面,用户不希望看到这个页面,他会认为是程序有问题另外问一下,如果刚才我写的
try
{
int.Parse("sdsd");
}
catch (Exception ex)
{ throw new Exception("字符格式有问题!",ex);
}
现在放在一个类里作为一个方法web页面调用它也会出错,
不会在web页面也用try .. catch ..语句来发现异常吧?
请问如果是用三层结构
那些异常情况都封装在逻辑层
请问在web即表现层 应该如何表达这种异常?
{
Console.WriteLine("请你输入你的年龄:");
int age=Int32.Parse(Console.ReadLine());
if(age<1 || age>150)
{
throw new Exception("胡说八道,你会是这样的年纪吗?");//人为抛出异常
}
else
{
Console.WriteLine("合法的年龄,异常没有被引发~");
}}
catch(Exception e)
{
Console.WriteLine(e);
}
}
}
throw new Exception("胡说八道,你会是这样的年纪吗?");//人为抛出异常
程序运行出错,不是出错,是根本就不能运行,为什么?再说用throw的目的是为了调试方便吗?
在webform中一般都是response.write(ex.message)
微软自己写的数据访问层,如Sqlhelper
里面的数据操作就有
throw语句
我写程序调用他们,故意讲sql语句写错,页面也讨厌的出来让人看的不舒服的错误界面可是我试着改一下,讲Sqlhelper.cs里的一个方法
将
try
carch
finally
及其throw语句
去掉,web页面调用出来的错误页面还是一样的
所以我就怀疑这个try ..catch ..语句有什么用?
最终web页面调用该出错的地方还是要出错
难道在web界面层,调用逻辑层里的方法
也要try ...catch....
如果前后都要,那么在逻辑层或者数据访问层要try ...catch...
干什么,有什么用?