P15 处理服务器端故障

这里的故障指的是服务器端的故障,和读取数据库抛出的异常,这种故障。而不是客户端引起的错误,例如验证错误。


try catch 对想能想到的影响消化还是比较大的。
在这个类里随便抛出一个异常。

状态是500

响应的body里面就是这个异常信息



现在改成生产环境

保存并运行
500的状态码 返回了。但是异常的信息没有返回在body里面。至少不会把内部的实现细节暴露给消费者了。

针对对异常返回一些通用的一些信息。添加一个中间件。

对这个中间件,进行简单的配置,参数是一个莱姆大表达式。
下面这段代码,就是当有未处理的异常发生时,就会走这段代码。但在实际的项目中呢,这块通常是要记录日志。这里暂时就不记录的。直接运行。

主要使用WriteAsync方法要引入命名空间 microsoft.AspNetCore.http;



把代码改回去


环境再改为开发模式:Development


开发模式下 会直接抛出异常信息




 

结束

 

posted @ 2020-03-22 10:09  高山-景行  阅读(256)  评论(0编辑  收藏  举报