避免在Angular 2上记录错误

避免在Angular 2上记录错误,angular,angular2-services,Angular,Angular2 Services,我正在做的是登录一个用户,如果凭据无效,我会从服务器端抛出一个异常。我的代码如下: this.http.post("/login", JSON.stringify(credentials)) .map(result => result.json()) .subscribe( data =>this.router.navigate(["home"]), () => this.router.navigate(["login"], {queryParams:

我正在做的是登录一个用户,如果凭据无效,我会从服务器端抛出一个异常。我的代码如下:

this.http.post("/login", JSON.stringify(credentials))
  .map(result => result.json())
  .subscribe(
    data =>this.router.navigate(["home"]),
    () => this.router.navigate(["login"], {queryParams: {error: true}})
  );
在这种情况下,如果用户没有抛出错误,我将对其进行身份验证,并在抛出错误时更改路由。问题是,即使我捕捉到错误,chrome控制台仍然显示出抛出错误的样子


有没有办法避免这种情况?我不想让用户看到这一点。对我来说,这不是一个错误,因为我正在使用它做一些事情,我希望能够使用从服务器端获得的消息。

如何捕获它?在服务器端,我将响应状态设置为400,将消息设置为我想要显示的消息(示例中没有显示)。我用subscribe的第二个参数捕捉到它,当响应状态不是200时触发。这是Chrome的标准行为,带有XHR,而不是角度或可观察的。你不能禁用Itada,所以你知道是否还有其他方法可以这样做?这可能是另一种方式,而不是询问ifs是否成功。不,你对此无能为力。如果服务器返回错误状态代码,chrome甚至会在代码执行之前记录它。如何捕获它?在服务器端,我将响应状态设置为400,将消息设置为我想要显示的消息(示例中没有显示)。我用subscribe的第二个参数捕捉到它,当响应状态不是200时触发。这是Chrome的标准行为,带有XHR,而不是角度或可观察的。你不能禁用Itada,所以你知道是否还有其他方法可以这样做?这可能是另一种方式,而不是询问ifs是否成功。不,你对此无能为力。如果服务器返回错误状态代码,chrome甚至会在代码执行之前将其记录下来