Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.
[имя] спросил: Как вы обрабатываете ошибки в Angular-приложении и как зарегистрировать HTTP-интерцептор?
Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ожидаемые HTTP-ошибки обрабатывают в потоке запроса и UI, общие — через interceptor, необработанные — через ErrorHandler. Не стоит превращать любой сбой в успешный пустой ответ.
Функциональный interceptor регистрируют через provideHttpClient(withInterceptors([errorInterceptor])) в providers. Внутри можно применить catchError и передать ошибку дальше через throwError, если её должен показать вызывающий код. Для DI-классов есть HTTP_INTERCEPTORS с multi и подключение withInterceptorsFromDi. Логи не должны содержать токены и личные данные.
Источник: angular.dev.