首页 > 解决方案 > 是否可以在 NestJs 上的异常过滤器上使用 useInterceptor?

问题描述

我试图在过滤器上使用拦截器作为

@Catch(ValidationException)
@UseInterceptor(ExceptionInterceptor)
export class ValidationExceptionFilter implements ExceptionFilter {
  constructor() {}
  catch(exception: Error, host: ArgumentsHost) {
    const context = host.switchToHttp();
    const request = context.getRequest<Request>();
    const response = context.getResponse<Response>();
    
    return {message: 'custome error occured'};
  }
}

但它似乎没有工作,这是为什么呢?

标签: filternestjsinterceptor

解决方案


不,拦截器和其他 Nest 增强器仅适用于控制器、网关和解析器,即请求进入服务器的位置。这是为了降低服务器的心理复杂性并降低请求时间而设计的。


推荐阅读