2009-07-02 99 views

回答

0

@Jørn是對的,但是您預測哪些錯誤會在您的視圖中顯示?

如果您提供了一些關於爲什麼在考慮這個問題的細節,我們可能會提出一些更好的替代方案,而不是簡單地說「不要這樣做」。

2

您不應該需要處理MVC操作內部錯誤的報告,硬編碼錯誤行爲會使找到修復問題比修復問題更困難。

而是使用HandleError attribute並拋出一個常規異常:

[HandleError] 
public class ThingController : Controller 
{ 
    public ActionResult DoStuff() 
    { 
     ... 

     // uh-oh! throw exception 
     throw new WhateverException("message"); 
    } 
} 

這將允許您使用customErrors配置標誌更改應用程序的行爲:

<customErrors mode="RemoteOnly" defaultRedirect="~/System/Error" /> 

然後在本地,你會得到一個醜陋但詳細的黃色死亡屏幕,加上調試將默認引發拋出的異常。

遠程用戶將被重定向到您的SystemController.Error,您可以在其中獲得一個用戶友好的消息並記錄錯誤。

這將以相同的方式用於控制器操作和視圖。

相關問題