我的页面上有一些链接,但尚未创建控制器。我有我的自定义控制器工厂是这样的:如何优雅地处理DefaultControlFactory的CreateController
public class MyControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
try
{
IController controller = base.CreateController(requestContext, controllerName);
HttpContext.Current.Items["Controller"] = controller;
return controller;
}
catch { return null; }
}
}
这工作正常,只要它可以找到控制器。然而,如果我从我的方法中返回null,我会抛出死亡的黄色屏幕。我该如何优雅地处理这个问题?我想重定向到一些页面以及404格式良好的消息,或者显示一些消息,如“进行中”。
的出发点是捕获异常并记录它,而不是隐藏它并返回null。在那一点上,你将能够解释抛出什么样的异常,并调查最好的方法来修复/避免这种情况... –