0

我正在做一个用户可以插入/删除/添加实体的表单。我正在使用 Winforms c# 和实体框架 4。

好的,用户可以删除对象了。现在,这些对象可以被其他实体引用,所以如果用户想删除它,他会得到一个异常。

我捕捉到该异常,以便向他显示一条消息,说明该对象已开始在其他对象中使用。

我得到的例外是(UpdateException)。但是,如果也存在更新问题,也会引发此异常。有没有办法使用这个异常从 Sql 获取错误代码?因为我确实有发生这种情况时抛出的错误代码。

如果我使用 SqlException,我可以检查它的编号,但这不是我收到的异常。

4

1 回答 1

-2

您的意思是查看完整的异常还是希望用户查看异常?

如果要查看异常,可以将其写入文本文件:

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());
    }
}

这会将异常写入桌面上的文本文件(根据需要更改目录)。

于 2013-02-20T01:08:00.527 回答