页面报错的问题。
举个例子:如果我的查询条件是根据int类型的来查询的,如果输入的是数字,那还好,如果随便输入一些汉字什么的,就报错了。
例如
dp.Fill(ds);这里根据查询条件来填充数据库的时候就报错了。。。。
我想到的改进办法就是: 1.用javascript来验证必须是数字。
2.用try catch 来把程序包起来,报错。
我想问问程序运行的时候怎么才能不会出现那些具体的报错页面,给别人看一个友好的页面呢????????????
--------------------编程问答-------------------- 在web.config中配置 --------------------编程问答-------------------- 一是验证,二是修改数据库。
页面报错页可以在web.config页中配置。 --------------------编程问答--------------------
我想问问程序运行的时候怎么才能不会出现那些具体的报错页面,给别人看一个友好的页面呢????????????
--
设置web.config
参考.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
--------------------编程问答-------------------- 最好使用脚本先验一下,这样速度快,如果格式不正确没有必要向服务器发送,但是在服务端的代码最好也加上Try Catch的语句快,这样保证程序处理正常。 --------------------编程问答-------------------- 西门 能稍微解释一下吗?
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
403这是报错类型还是什么?我怎么知道报错的类型。
我把所有的代码包在try catch 里面的这种做法是不是很傻??? --------------------编程问答-------------------- 楼主应该想办法去解决这个已知的问题,未知的异常个人看法才应该用异常
如
.aspx?Id=
1、这时,你应该判断是不是为 C#中的null(VB.NET 中的Nothing)
2、溢出异常,如果你的程序中是 这样
Convert.ToInt32(HttpContext.Current.Request.QueryString.Get("Id"))
此时,是有可能报错的。如果别人输入 很长的1111111111111111111111111111111111111111111111111
显示这就是个溢出了(当然还有输入字符串的问题),你得去解决这些已知的问题。
所以这里你可以使用 int.TryParse 方法。 --------------------编程问答-------------------- 谢谢,有点明白了 --------------------编程问答-------------------- 403 禁止访问:访问被拒绝
404 未找到
补充:.NET技术 , ASP.NET