[英]Identify sql exception in c#?
如何使用其錯誤代碼(錯誤號)捕獲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異常類層次結構中為每種類型的異常分配了特定的數字,您將在此處找到一些有用的資料
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.