簡體   English   中英

在c#中識別sql異常?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM