NestJS - Как обрабатывать глобальные исключения в приложениях без API в - PullRequest
1 голос
/ 27 сентября 2019

У меня есть пример приложения, созданного в NestJs, в котором нет ни одного контроллера.Я создал глобальный фильтр исключений и внедрил его через модуль приложения, например:

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

Когда происходит вызов любого метода службы и возникает исключение, вызов не поступает в мой пользовательский фильтр исключений.Обратите внимание, что в моем приложении нет ни одного контроллера.Существуют только модули и службы.

Также я попытался зарегистрировать свой настраиваемый фильтр в main.ts, который не работает:

app.useGlobalFilters(new CustomExceptionFilter());

Я хочу обрабатывать исключения всех типов, используя глобальные исключениятолько фильтр.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 27 сентября 2019

С глобальным подходом все в порядке, вам нужно всего лишь поместить пустой декоратор catch в начале класса, и он поймает все ошибки

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

...