如果在不同的项目中发生错误,如何在MVC中显示错误页面

时间:2015-06-29 08:45:45

标签: asp.net-mvc-4

我的MVC应用程序使用在web.config文件中配置的错误页面。无论错误类型如何,所有错误都会显示单个网页。这很好。

我遇到的问题是,Web项目中没有引发异常,但在我的BLL项目中。所以,请考虑这个

//我的Web.Ui

public ActionResult Thing()
{
    Bll.Statics.DoThis();
    return View();
}

我的BLL是

public static void DoThis()
{
    throw new Exception("Kaboom");
}

问题是,当这里发生错误时,我看不到我的404页面,我得到一个标准的浏览器'错误页面解释错误的东西。

我是否只需要从我的控制器中包装Try Catch中的所有调用,这样我就可以从控制器本身抛出(重新抛出)异常?

1 个答案:

答案 0 :(得分:1)

是的,将您的所有来电包裹在try-catch区块中。另一方面,考虑一下您可能会遇到的例外情况。您想要捕获Exception还是想要提供不同的信息,例如SqlException当您没有连接到数据库时等等。如果你想要的只是显示你的自定义404 ,那么你可以使用通用选项。