Angular 2 - Gestione degli errori
Le applicazioni Angular 2 hanno la possibilità di gestire gli errori. Questo viene fatto includendo la libreria catch di ReactJS e quindi utilizzando la funzione catch.
Vediamo il codice richiesto per la gestione degli errori. Questo codice può essere aggiunto all'inizio del capitolo per le operazioni CRUD utilizzando http.
Nel file product.service.ts, inserisci il seguente codice:
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/catch';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl = 'app/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)))
.catch(this.handleError);
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error());
}
}
La funzione catch contiene un collegamento alla funzione Error Handler.
Nella funzione di gestione degli errori, inviamo l'errore alla console. Inoltre restituiamo l'errore al programma principale in modo che l'esecuzione possa continuare.
Ora, ogni volta che ricevi un errore, verrà reindirizzato alla console degli errori del browser.