异常(Exception)

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

Nest 应用里自带的 Exceptions layer 可以处理应用里发生的异常, 终端用户会得到一个非常友好的响应。

我们可以先手动造一个异常, 打开 posts 里的 posts.controller, 在这个 store 方法里面, 直接 throw 一个异常, 用一下 Nest 自带的 HttpException 这个异常。

给它一个字符串参数,没有权限!, 第二个参数是 HTTP 的状态码, 用一下 HttpStatus,里面的 FORBIDDEN , 它的值其实就是 403。

在客户端,用 POST 方法,请求一下 posts 这个地址, 这回从 Nest 应用那里得到的响应,状态码是 403 表示 Forbidden。

响应的数据里面有个 statusCode,值是 403,还有一个 message, 值是 没有权限 ,这些就是我们抛出的那个 HttpException 里的东西。

Nest 应用里还有一些异常,它们都继承了这个 HttpException ,比如这个异常可以换成 ForbiddenException ,给它提供一个信息,throw new ForbiddenException('没有权限!'); ,不需要再设置这个异常的 HTTP 状态码。

回到客户端,请求一下 posts , 得到的响应,状态码仍然是 403。响应的数据有 statusCode,message ,还有一个 error,这里面只有 message 的值是我们自己设置的。

异常(Exception)《 Nest.js 应用框架:核心部件(1) 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点