簡體   English   中英

使用MVC的控制器中的錯誤處理

[英]Error handling in controllers with MVC

在操作方法內部執行錯誤處理和日志記錄還是在控制器內部處理OnException方法是否有意義? 一種方法意味着即使無需采取任何措施來從錯誤中恢復,也要在所有操作方法中編寫try / catches。 在控制器級別處理此問題將允許記錄日志並重定向到錯誤處理程序頁面,而無需在所有操作方法內編寫try / catches。

哪種方法最有意義? 這是動作方法中try / catches的示例代碼。

        [HttpPost]
        public ActionResult Delete(int id)
        {
            using (new Tracer("Project Controller"))
            {
                try
                {
                    Logger.Write("Deleting project");
                    projService.DeleteProject(id);
                    TempData["message"] = "Project Deleted successfully";
                }
                catch (System.Exception ex)
                {
                    HandleException(ex, "Project could not be deleted.");
                }
                return RedirectToAction("List");
            }
        }

HandleError屬性的形式已經有了一個開始。

我建議您要么繼承它,要么查看它的實現以提出您的自定義對象。 真的很簡單。

HandleErrorAttribute.cs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM