Comment lancer une erreur observable manuellement dans angular2?

Je suis en train de travailler sur angular2 application dans laquelle je fais un appel reste via HTTp en tant que ci-dessous:

login(email, password) {
    let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    let options = new RequestOptions({ headers: headers });
    let body = `identity=${email}&password=${password}`;
    return this.http.post(`${this._configService.getBaseUrl()}/login`, body, options)
    .map((res: any) => {
        let response: any = JSON.parse(res._body);
        if (response.success == 0) {
          Observable.throw(response);  //not working
        } else if (response.success == 1) {
          console.log('success');
          localStorage.setItem('auth_token', 'authenticated');
          this.loggedIn = true;
          return response;
        }
    });
}

fondamentalement, je veux que mon composant pour obtenir de réponse & erreur dans mon abonnez-vous appeler.

c'est à dire

this._authenticateService.login(this.loginObj['identity'],this.loginObj['password']).subscribe(
  (success)=>{      
    this.credentialsError=null;  
    this.loginObj={};  
    this._router.navigate(['dashboard']);    
  },
  (error)=>{
    console.log(error);        
    this.credentialsError=error;     
  }
);

mais mon api renvoie toujours le succès, comme il l'id défini de cette façon.

Donc je veux savoir comment puis-je jeter erreur msg si response.success == 0 , de sorte qu'il sera accessible à l'intérieur de l'erreur argument de mon abonnez-vous de rappel.

source d'informationauteur Bhushan Gadekar