在一个简单的应用程序中:public void Configure(IApplicationBuilder app, IHostingEnvironment env){ app.Use(async (context, next) => { try { await next(); } finally { var test = context.Response.StatusCode; //test=200 when exception is thrown from Mvc() } }); app.UseMvc();}Response.StatusCode如果控制器抛出 ,为什么未设置Exception?这似乎非常令人惊讶且没有记录。它似乎与管道的概念不一致,例如。401和404此时已经设置好了。这是一个错误还是设计使然?
2 回答
达令说
TA贡献1821条经验 获得超6个赞
错误处理不是 MVC 中间件的责任/关注点。异常只会冒泡,其他中间件(例如开发人员异常页面或异常处理程序)应该处理此错误。
您可以通过添加试试这个UseDeveloperExceptionPage()或UseExceptionHandler() 以前的UseMvc()呼叫。例如:
public void Configure(IApplicationBuilder app)
{
app.UseExceptionHandler("/path/to/error/page");
app.UseMvc();
}
- 2 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消