平常制作用户提示的时候,我总是先把用户输入信息好好判断一下,比如用户输入的ID是否重复,名称是否符合规范等等。
当然,我也觉得用户应该没有那么蛋疼,天天输入一些错别字,或者重复的内容去测试。
可惜我像是有强迫症一样···不管是什么要求,我都要去想各种各样的情况,也许这是一件好事吧,但是这样导致我的代码回炉率特别高,基本上想到一个错误大半的代码就要重写,而且时间久了我还要去想当时这段代码是干什么的,真的很恼火。可能作为一个刚刚进入这个行业的新人,我的计划做的不是那么周全,能想到的太少。
我最近在想一个办法可以解决这个问题,try这个方法我用的很少,因为大部分会出错的地方我都有判断,有些错误我没有想到我就会用配置文件里面的一句代码
<customErrors mode="Off" defaultRedirect="Erro.aspx" />
进行错误跳转,把错误当成是系统问题。所以基本上用不到,偶尔会把Try当成判断语句用。
最近公司的一个老前辈说可以使用后台数据库判断,前台会变的更加容易。
正常情况下,用户输入了一个不可重复的ID,数据库就会报错,前台也会因此而停止运行。但是老前辈说可以使用储存过程来判断。比如:
违反了 PRIMARY KEY 约束 'PK_ORYERP_VEND_STU'。不能在对象 'dbo.ORYERP_VEND_STU' 中插入重复键。 语句已终止。
这句话,我可以把它反应到前台已提示框的方式显示出来,代码如下:储存过程里面的代码我就不贴出来了
try
{
PB.SQL_CD("update web_cust set 总款合计=1212"); //会提示错误的语句
Label1.Text = "成功";
}
catch (Exception ex)//ex为错误信息
{
string err = ex.Message;//将错误信息的异常消息提取出来
Server.ClearError();
Label1.Text = err.ToString();//显示出来
}