我有一个在NestJs中创建的示例应用程序,它没有单个控制器。我已经创建了全局异常过滤器,并通过以下应用模块将其注入:
providers: [
{
provide: APP_FILTER,
useClass: CustomExceptionFilter,
},
]
当调用了任何服务方法并发生异常时,该调用不会出现在我的自定义异常过滤器中。请注意,我的应用程序中没有单个控制器。只有模块和服务。
我也尝试在main.ts中注册我的自定义过滤器,该方法不起作用:
app.useGlobalFilters(new CustomExceptionFilter());
我只想使用全局异常过滤器处理所有类型的异常。任何帮助表示赞赏。
答案 0 :(得分:0)
全局方法没问题,您只需要在课程开始时放置一个空的catch装饰器,它将捕获所有错误
@Catch()
export class CustomExceptionsFilter implements ExceptionFilter {
catch(exception: unknown, host: ArgumentsHost) {
...
}
}