throwError

Creates an Observable that emits no items to the Observer and immediately emits an error notification.

throwError(error: any, scheduler?: SchedulerLike): Observable<never>

Parameters

error

The particular Error to pass to the error notification.

scheduler

Optional. Default is undefined.

A SchedulerLike to use for scheduling the emission of the error notification.

Returns

Observable<never>: An error Observable: emits only the error notification using the given error argument.

Description

Just emits 'error', and nothing else.

This static operator is useful for creating a simple Observable that only emits the error notification. It can be used for composing with other Observables, such as in a mergeMap.

Examples

Emit the number 7, then emit an error

import { throwError, concat, of } from 'rxjs'; const result = concat(of(7), throwError(new Error('oops!'))); result.subscribe(x => console.log(x), e => console.error(e)); // Logs: // 7 // Error: oops!

Map and flatten numbers to the sequence 'a', 'b', 'c', but throw an error for 2

import { throwError, interval, of } from 'rxjs'; import { mergeMap } from 'rxjs/operators'; interval(1000).pipe( mergeMap(x => x === 2 ? throwError('Twos are bad') : of('a', 'b', 'c') ), ).subscribe(x => console.log(x), e => console.error(e)); // Logs: // a // b // c // a // b // c // Twos are bad

See Also