如何使用c#捕捉特定的異常?
在我的數據庫中有一些列上有唯一索引。
當用戶插入重複記錄這個例外是拋出:捕捉特定的異常
不能在 對象DBO插入重複鍵行。 BillIdentity'與獨特 索引'IX _BillIdentity'。 聲明已被終止。
我該如何發現這個異常?
目前我使用此代碼檢查:
catch (Exception ex) {
if (ex.Message.Contains("Cannot insert duplicate key row in object 'dbo._BillIdentity' with unique index 'IX__BillIdentity")) {
string ScriptKey = "$(function() {ShowMessage('Error');});";
ScriptManager.RegisterStartupScript(Page, GetType(), "script", ScriptKey, true);
}
}
我認爲其臭代碼。
有沒有更好的辦法?
爲什麼不在運行insert語句之前檢查鍵是否存在? – 2011-05-25 06:47:19
@Johann Blais,這項工作有什麼好處? – Shahin 2011-05-25 06:49:26
避免您要求的蹩腳的基於異常的解決方法;) – 2011-05-25 07:11:24