NestJS-如何在非API应用程序中处理全局异常

时间:2019-09-27 10:03:54

标签: nestjs

我有一个在NestJs中创建的示例应用程序,它没有单个控制器。我已经创建了全局异常过滤器,并通过以下应用模块将其注入:

providers: [
        {
            provide: APP_FILTER,
            useClass: CustomExceptionFilter,
        },
    ]

当调用了任何服务方法并发生异常时,该调用不会出现在我的自定义异常过滤器中。请注意,我的应用程序中没有单个控制器。只有模块和服务。

我也尝试在main.ts中注册我的自定义过滤器,该方法不起作用:

app.useGlobalFilters(new CustomExceptionFilter());

我只想使用全局异常过滤器处理所有类型的异常。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

全局方法没问题,您只需要在课程开始时放置一个空的catch装饰器,它将捕获所有错误

@Catch()
export class CustomExceptionsFilter implements ExceptionFilter {
  catch(exception: unknown, host: ArgumentsHost) {
  ...
  }
}