NestJS提供了一波拿来即用的内置异常过滤器;
在@nestjs/common里面,搜索下Exception就有~
我们来一个具体的例子(全局异常过滤),
基于内置的异常过滤器实现,采用第三方日志(pino...';
// 捕获请求异常类型
// 可以传递多个参数,所以你可以通过逗号分隔来为多个类型的异常设置过滤器。...http的上下文
// 有兴趣可以点进去,GPRC,WEBSOCKET都能直接转换
// 也能直接拿到一些参数的及返回上下文类型
const ctx = host.switchToHttp...();
// 判断状态是否为请求异常,否则直接抛回来服务内部错误
const status =
exception instanceof HttpException...,
JSON.stringify(errorResponse),
'HttpExceptionFilter',
);
// 塞回去响应体,也就是客户端请求可以感知到的