[ASP.NET MVC] Error Handling(2) – 在Controller 裡 Handling Errors
上一篇我們簡單的介紹了 custom errors,當網站發生錯誤時會導向到我們自訂的 Error Page。
但是,有時候一個 Error Page 是不夠的。
ASP.NET MVC 提供了 HandleErrorAttribute,它可以幫助我們在 Controller 裡,對發生的錯誤做更細緻的處理。
HandleErrorAttribute 有兩個屬性:- ExceptionType:指定要處理哪種類型的錯誤。
- View :當發生這個錯誤時,要導向到哪個頁面。
public ActionResult Detail(long id)
{
var db = new TestDataContext();
return View("Detail", db.Detail.Single(x => x.Id == id));
}
這裡的意思就是當發生 DataException 時,就導向到 DBError 這個頁面。
HandleErrorAttribute 除了可以放在 Action,也可以放在 Controller。
public class AuctionsController : Controller
{
}
放在 Controller ,代表著裡面全部的 Action 都適用這條規則,這樣就不用每個 Action 都寫了。