日期:2014-05-20  浏览次数:20868 次

如何取得异常的号码呢.
捕捉到异常:
不能在具有唯一索引   'USERNAME '   的对象   'dbo.ZHANGHUXINXI '   中插入重复键的行。
语句已终止

我想把这句Message直接呈现给用户不友好,我希望能有个ID号。。。

------解决方案--------------------
有些异常有ErrorCode属性,但有些没有,你应该仔细研究一下。
------解决方案--------------------
在数据库中新建一张表,存放错误信息,如dbLog

try
{ }
catch(Exception ex)
{
string sql = "insert into dbLog(FID,FDate,FMsg) values(newid(),getdate(), ' " + ex.Message.ToString() + " ') ";
using (DataAccess_COAL.DbHelperSQL dbsl = new DbHelperSQL(ConnectionString))
{
dbsl.ExecuteSql(sql.ToString());
}
}

出错后可以将fid返回给 用户,也可以查看详细信息(加一功能)
------解决方案--------------------
你这个错误好像不能得出你要的ID号,如果你非要,建议改成存储过程,
插入前先判断。
------解决方案--------------------
数据库异常有ErrorCode,你看看Exception中属性.
------解决方案--------------------
自己定义一个ErrorCode啊,跟系统的异常对应起来就好了。
------解决方案--------------------
up