NestJS提供了一波拿来即用的内置异常过滤器;
在@nestjs/common里面,搜索下Exception就有~
我们来一个具体的例子(全局异常过滤),
基于内置的异常过滤器实现,采用第三方日志(pino...,必须引入对应的实例
// 在构建函数声明定义下,从外部传入
constructor(private readonly logger: Logger) {}
catch(exception...: HttpException, host: ArgumentsHost) {
// 把请求相关的参数转成标准http的上下文
// 有兴趣可以点进去,GPRC,WEBSOCKET都能直接转换...cors: false,
logger: false,
});
// 获取pino logger实例
const logger = app.get(Logger);...APP_FILTER,
useClass: HttpExceptionFilter,
},
],
})
export class AppModule {}
若是加上@Global装饰器也能达到全局模块的效果