如何处理预期的SQL异常?

时间:2014-03-12 07:38:44

标签: asp.net asp.net-mvc asp.net-mvc-5

以下操作由Visual studio支持。但是,如果要删除的记录已被另一个表引用,则会引发异常。我想在引用记录时显示一条很好的错误消息。这样做的好方法是什么?

  1. 测试记录是否在删除前已被引用? (但是,随着数据库架构的更改,以后可能会添加更多引用)
  2. 将代码包装在try / catch块中。 (它是否适用于async / await语句)?
  3. ...

    // POST: /Venue/Delete/5
    [HttpPost, ActionName("Delete")]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> DeleteConfirmed(int id)
    {
        Venue venue = await db.Venues.FindAsync(id);
        db.Venues.Remove(venue);
        await db.SaveChangesAsync();
        return RedirectToAction("Index");
    }
    

1 个答案:

答案 0 :(得分:1)

使用HandleException操作过滤器。您可以指定要处理的类型(SqlException)。