I would like Angular's ExceptionHandler to handle any errors that occur from API calls. The problem is they never reach the ExceptionHandler's handleError method and I'm not sure what I need to do different.
// data.service.ts
addItem(name: string): Observable<any> {
return this.http.post(name)
.map(this.extractData)
.catch((error) => this.handleError(error))
.share();
}
private handleError(error: any): any {
const msg = `${error.status} - ${error.statusText}`
// this did not work
//throw new Error(msg);
// also doesn't work
return Observable.throw(new Error(msg));
}
// item.component.ts
const observable = this.dataService.addItem('test');
observable.subscribe(
(success) => console.log('success'),
(error) => { throw new Error('test'); // doesn't work }
);