识别 C# 中的 SQL 异常
本文关键字:异常 SQL 中的 识别 | 更新日期: 2023-09-27 17:57:02
如何捕获SQL异常及其错误代码(错误号)以识别C#中确切抛出的异常?例如,数据库处于脱机状态或其他表中有引用行,因此SQL不允许我删除行,但是我如何准确确定Catch中的问题是什么,以便我可以在我的应用程序中向用户显示消息
您需要
将数据库代码放入try ... catch
块中,然后(假设您对SQL Server使用 ADO.NET)然后捕获SqlException
。
try
{
// your database code here
}
catch(SqlException sqlEx)
{
foreach(SqlError error in sqlEx.Errors)
{
// you can inspect the individual errors, their code etc. here
}
}
SqlException
对象将包含一组SqlError
对象,这些对象非常详细地描述发生的错误 - 包括行号、错误代码和所有内容。
其他数据库将具有类似的结构 - 检查您的文档!
在 .net 异常类层次结构中,每种类型的异常都有特定的编号,您将在此处找到一些有用的材料