我的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中的所有调用,这样我就可以从控制器本身抛出(重新抛出)异常?
答案 0 :(得分:1)
是的,将您的所有来电包裹在try-catch
区块中。另一方面,考虑一下您可能会遇到的例外情况。您想要捕获Exception
还是想要提供不同的信息,例如SqlException
当您没有连接到数据库时等等。如果你想要的只是显示你的自定义404 ,那么你可以使用通用选项。