【问题标题】:Try is not executed while catch is not catching当 catch 没有捕获时,try 没有执行
【发布时间】:2019-05-16 23:47:41
【问题描述】:

我在 asp.net mvc 中创建删除功能,当我放入 Try-Catch 块时,我得到 Null 引用“非可空类型的参数 'Id' 的空条目”。 当我删除 Try-Catch 块时,我得到“DELETE 语句与 REFERENCE 约束“FK_tbl_Url_tbl_Category”冲突。”

public ActionResult Delete(int Id)
{
    try
    {
        objBs.Delete(Id);

        return Redirect("Index");
    }
    catch (Exception e)
    {
        "Sorry Failed to delete!"
        ViewBag.DeleteData = e;
        return Redirect("Index");
    }
}

唯一要考虑的问题是,为什么我会因为 Try-Catch Block 而收到不同的错误。 其次,为什么 Catch Block 在 try 无法成功执行时没有捕捉到我的错误。

【问题讨论】:

  • 您的索引操作看起来如何?
  • 这是不可编译的。向我们展示您实际在做什么。
  • MVC 4 可以与 .net 核心一起使用吗?这些标签在我看来不正确。
  • 如果你总是想return Redirect("Index");(无论是否发生异常),你可以通过将其放在finally块中来减少重复代码。
  • 可能你有两个异常发生,一个在 try 中,一个在 catch 中。因此,如果没有 try/catch,您会遇到第一个,而使用 try catch,第一个由 catch 处理,因此您会看到第二个。

标签: c# asp.net asp.net-mvc-4 asp.net-core entity-framework-6


【解决方案1】:

请检查您的ID,即将删除,是否退出数据库表,如果退出,请确保该ID的引用,Child应该先删除然后Parent。然后只有您的删除功能才会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多