Angular › HTTP Client & Interceptors
How would you handle errors from an HTTP request in Angular, showing a friendly message to the user?
IntermediateAnswer
You use the catchError operator inside the observable's pipe, letting you catch any error the request throws, log it if needed, and return a fallback value or rethrow a more user friendly error that your component can display appropriately.
import { catchError } from 'rxjs/operators';
import { of } from 'rxjs';
getUsers() {
return this.http.get<User[]>('/api/users').pipe(
catchError((error) => {
console.error('Failed to load users', error);
return of([]); // fallback to an empty list instead of crashing
})
);
}Real-world example A user list page shows an empty state message instead of a broken page when the backend API is temporarily unavailable, thanks to catchError providing a safe fallback value for the component to display.