[ASP.NET MVC] Error Handling(1)–Custom Errors
當有錯誤發生時,可能會影響到我們的網站,為了讓影響減到最小,我們必須知道如何正確的處理錯誤。
來看一個簡單的例子
public ActionResult About()
{
ViewBag.Message = "您的應用程式描述頁面。";
throw new Exception("Something went wrong!");
}
我們丟出了一個Exception,卻沒有去處理它,當程式執行時,會發生什麼事?
OK,發生錯誤了,現在該怎麼辦?
首先要知道的是,在ASP.NET 裡面,有一個叫 custom errors 的功能,它可以幫助我們處理錯誤。
custom errors 提供了三個模式:
- On:當有錯誤發生時就顯示我們自訂的頁面。
- Off:當有錯誤發生時就顯示預設的頁面,就是上面那個黃色的頁面。
- RemoteOnly:如果是從主機連上去,就顯示預設的錯誤頁面,這是為了幫助開發者Debug。如果是 User 從其他地方連的,就顯示自訂的頁面給他們看。
那這要在哪裡設定?
在 Web.config 裡的 <system.web> 的底下新增
<customErrors mode="On">
</customErrors>
再執行一次程式,這次沒有再出現黃色的錯誤頁面了。
這個畫面是 Shared 資料夾底下的 Error.cshtml 頁面。