Asp.net-Mvc

ASP.net MVC [HandleError] 未擷取異常

  • March 6, 2009

在兩個不同的應用程序中,一個是自定義的,另一個是您使用新的 VS2008 MVC 項目獲得的範例 MVC 應用程序,[HandleError] 沒有擷取異常。

在範例應用程序中,我有:

[HandleError]
public class HomeController : Controller
{
   public ActionResult Index()
   {
       ViewData["Message"] = "Welcome to ASP.NET MVC!";
       throw new Exception();
       return View();
   }

   public ActionResult About()
   {
       return View();
   }
}

這只是預設控制器,但會拋出異常以進行測試。

但它不起作用。它不會轉到預設的 error.aspx 頁面,而是在瀏覽器中顯示調試資訊。

該問題首先出現在我正在處理的自定義應用程序中,這導致我使用範例應用程序對其進行測試。考慮到這與我在自定義應用程序中所做的更改有關,我完全沒有改變範例應用程序,只在 index 方法中拋出異常(糟糕)。

我難住了。我錯過了什麼?

在 Web.config 中,更改 customErrors:

<system.web>
 <customErrors mode="On">
 </customErrors>

如果模式為 Off 或 RemoteOnly,那麼您將看到黃屏當機,而不是自定義錯誤頁面。原因是開發人員通常希望在黃屏當機上獲得更詳細的資訊。

引用自:https://stackoverflow.com/questions/619582