我在 ASP.NET MVC 5 应用程序中实现异常处理,并选择使用 HandleErrorAttribute,这是我实现的代码
[HandleError(ExceptionType = typeof(DbUpdateException), View = "Error")]
public class CompaniaController : Controller
{
private CompaniaRepository companiaRepository = null;
public CompaniaController()
{
this.companiaRepository = new CompaniaRepository(new InventarioContext());
}
public ActionResult Listar()
{
var companias = companiaRepository.Listar().ToList();
List<Moneda> monedas = monedaRepository.Listar().ToList();
ViewBag.Monedas = new SelectList(monedas, "MonedaID", "Descripcion");
return View( "Listar", companias);
}
}
我还添加了配置web.config
<customErrors mode="On"></customErrors>
在调试模式下运行应用程序我看到它首先崩溃,然后按 F5 后视图刚刚出现错误消息。这是什么原因?或者我需要配置什么部分,以便出现错误视图并且应用程序不会崩溃?
我很感激你的时间。
>>当我提到“首先它崩溃”时,我的意思是应用程序停止在控制器的一条线(发生错误的地方),在给它 F5 之后,我只得到为错误配置的视图
但是这种效果是存在的,因为您正在使用 VS 进行调试,它首先会停止代码,以便您可以检查问题并分析细节。
当您确认要继续时(通过按 F5),它会继续下一个操作,即执行属性的操作以重定向错误视图。
当您在 IIS 中发布应用程序时,这种效果不会发生,但会持续,您只会看到消息的视图。
如果您不希望在发生错误时停止执行,您可以取消选中
Exceptions