catch中的自定义Sql异常消息
本文关键字:异常 消息 Sql 自定义 catch | 更新日期: 2023-09-27 18:00:07
我正在创建一个表单,用户可以在其中插入/删除/添加实体。我使用的是Winforms c#和实体框架4。
好的,用户可以删除对象。现在,这些对象可以被其他实体引用,所以如果用户想删除它,他会得到一个异常。
我捕捉到这个异常,以便向他显示一条消息,说明该对象已开始在其他对象中使用。
我得到的异常是(UpdateException)。但是,如果也存在更新问题,则可能会引发此异常。是否有任何方法可以使用此异常从Sql获取错误代码?因为当这种情况发生时,我确实会抛出错误代码。
如果我使用SqlException,我可以检查它的编号,但这不是我收到的异常。
您的意思是您想要查看完整的异常,还是希望用户查看异常?
如果你想看到异常,你可以把它写到一个文本文件:
try
{
// do something
}
catch(SQLException sqlex)
{
using (var file = new StreamWriter(@"C:'Users'Home'Desktop'sqlException.txt"))
{
file.WriteLine(sqlex.ToString());
}
}
catch(Exception e)
{
using (var file = new StreamWriter(@"C:'Users'Home'Desktop'generalException.txt"))
{
file.WriteLine(e.ToString());
}
}
这会将异常写入桌面上的文本文件(根据需要更改目录)。