2009-07-02 64 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,您可以在其中获得一个用户友好的消息并记录错误。

这将以相同的方式用于控制器操作和视图。

相关问题