【问题标题】:How to catch exception on saving foreign key field value?如何捕获保存外键字段值的异常?
【发布时间】:2012-07-03 11:57:34
【问题描述】:

在尝试向外键字段添加值时,如果主键字段中不存在相同的数据,则会引发异常,例如“更新条目时发生错误”。但是,我想捕获相同的异常并将其显示在某个窗口中,并显示“值不存在,请输入不同的值”之类的消息。那么如何在 asp.net MVC 中捕获此错误。

【问题讨论】:

    标签: asp.net-mvc-3 exception-handling foreign-keys


    【解决方案1】:

    对 MVC 不是很熟悉,我使用的是 WinForms,但是为什么不尝试找出你得到的错误代码。只需将您的代码放在 try catch 块中,如果抛出异常,请检查错误代码是否与您的错误代码匹配,以及它是否使用 MessageBox 或类似的东西来显示您的消息。

    希望对你有帮助

    【讨论】:

    • 得到这样的异常:{“更新条目时发生错误。有关详细信息,请参阅内部异常。”} [System.Data.UpdateException]:{“更新条目时发生错误。有关详细信息,请参阅内部异常。”} 数据:{System.Collections.ListDictionaryInternal} HelpLink:null InnerException:{“INSERT 语句与 FOREIGN KEY 约束冲突。语句已终止。”} 你能告诉我我能抓住吗如您所说的匹配错误代码的上述异常。那会很棒。
    • 可能有很多不同的错误代码。要在 catch 块中找到你的,做这样的事情(至少那是我在 WinForms 中所做的,不知道你是否可以在 MVC 中)catch(Exception ex) { Response.write(ex.ErrorCode); } 这样你就可以先看到错误代码,然后在匹配错误代码时写下 if
    • 或者,如果您的异常消息很短,这不起作用,请尝试像这样匹配 if(ex.Message == "--some exception message--") 请注意,这不是完全正确的方法,但这是我能想到的最简单的方法..
    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2022-01-03
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多