ExceptionFilter
- это интерфейс, который определяет, что текущий класс должен реализовывать метод catch
с подписью (exception: unknown, host: ArgumentHost)
.
BaseExceptionFilter
- это класс, уже созданный в Nest JS с рабочий catch
метод. Используя extend
, вы можете добавить свои собственные логи c к catch
, а затем в конце реализации вызвать super.catch(exception, host)
и позволить Nest позаботиться обо всем остальном оттуда.
Основное различие между ними состоит в том, сколько логи c вы хотите написать против того, сколько вы хотите добавить. Если вы довольны тем, как Nest уже обрабатывает ошибки, и просто хотите чтобы добавить возможность регистрировать ваши ошибки, скажем, в базу данных, тогда extends BaseExceptionFilter
хорошо подходит. Однако, если вам все равно или как фильтр исключений в Nest работает по умолчанию, тогда implements ExceptionFilter
и запись своих собственных логи c - это путь к go.