【发布时间】: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