Net Core异常处理

一、400的错误处理

 

1. 第一种情况:通过id找不到指定的内容或信息

传进来的参数如果为空的情况下,判断当前参数是否有指定的实体数据,无:转到错误页面!反之显示正常页面

2. 第二种情况:请求的url地址和路由不匹配

startup.cs中的Configure方法处理“url地址和路由不匹配的情况,前提是需要修改Properties中的launchSettings中编程模式为除开发者模式以外的其他模式(默认为开发者模式)

自定义错误页面,在到startup中写报错页面的跳转地址:

图的意思为:如果不是开发者模式,页面发生400错误会跳转到自定义的页面中

建议使用app.UseStatusCodePagesWithReExecute("/home/errorpage");有更好的用户体验

3. 属性路由

控制器代码

在控制器中写入

第一个ViewBag.path返回:错误地址

第二个ViewBag.querystr:返回的查询字符串

第三个ViewBag.BasePath:没有返回值!目前未知!

4. app.UseStatusCodePagesWithReExecute()app.UseStatusCodePagesWithRedirects();比较

 

在页面报错时app.UseStatusCodePagesWithRedirects()返回的http状态码为302,意思是将访问路径地址修改为我们自定义的报错路径

 

app.UseStatusCodePagesWithReExecute()页面路由出错时直接返回404状态码!方便收集错误信息!

 

二、处理500的错误提示

startup-》Configure方法中代码

Properties文件夹—》打开launchSettings.json改为生产环境

报错页面控制器中action代码

页面效果

原文地址:https://www.cnblogs.com/LanHai12/p/15258084.html