2012-07-03 42 views
0

在嘗試向外鍵字段添加值時,如果主鍵字段中不存在相同的數據,則會拋出異常,如「更新條目時發生錯誤」。但是,我想要捕獲相同的異常,並在某個窗口中顯示消息,如「值不存在,請輸入不同的值。」那麼我怎麼能在asp.net MVC中捕獲這個錯誤。如何在保存外鍵字段值時捕獲異常?

回答

0

不是很熟悉MVC,我使用WinForms,但爲什麼不試着找出你得到的錯誤代碼。只要把你的代碼放在try catch塊中,並且如果引發異常,檢查錯誤代碼是否與你的錯誤代碼相匹配,以及它是否使用MessageBox或類似的東西來顯示你的消息。

希望這有助於

+0

獲取例外是這樣的:{「在更新條目中出現了一個錯誤,請參閱內部異常的詳細信息。」} [System.Data.UpdateException]:{「更新時出現錯誤「} Data:{System.Collections.ListDictionaryInternal} HelpLink:null InnerException:{」INSERT語句與FOREIGN KEY約束衝突。語句已終止。「} Can你可以捕捉上面的異常,如你所說的匹配錯誤代碼。那挺棒的。 – user13

+0

可能有很多不同的錯誤代碼。要在catch塊中找到你想做的事情(至少那是我在WinForms中做的事,不知道你是否可以在MVC中) catch(Exception ex) Response.write(ex.ErrorCode); } } 所以你可以先看到錯誤代碼,然後賴特如果當你匹配的錯誤代碼 – kms

+0

或者如果這不工作,如果你的異常信息很短嘗試匹配,就像這樣if(ex.Message == 「 - 一些異常信息 - 」) 請注意,這不是完全正確的方法,但這是我能想到的最簡單的方法.. – kms