Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何防止在errorhandler中抛出错误?_Angular_Typescript_Error Handling - Fatal编程技术网

Angular 如何防止在errorhandler中抛出错误?

Angular 如何防止在errorhandler中抛出错误?,angular,typescript,error-handling,Angular,Typescript,Error Handling,目前,在我的一种服务方法中,我有如下内容: this.get(foo).catch((e) => this.errorHandler(e)); 其中errorHandler是: errorHandler(error: HttpErrorResponse) { if (error.status === 422) { this.openSnackBar('Number already exists'); return Observable.throw(err

目前,在我的一种服务方法中,我有如下内容:

this.get(foo).catch((e) => this.errorHandler(e));
其中errorHandler是:

errorHandler(error: HttpErrorResponse) {

    if (error.status === 422) {
      this.openSnackBar('Number already exists');
      return Observable.throw(error.message || 'Server Error');
    } else {
      return Observable.throw(error.message || 'Server Error');
    }
  }
虽然这样做很好,但它会抛出错误,我可以在控制台窗口中看到报告。我想知道,如果我在处理用户友好消息(如上面的snackbar示例)中的错误,如何防止它被抛出/显示在控制台窗口中


我只想捕获错误,检查状态并返回一个带有用户友好消息的snackbar。我注意到,如果删除上面的抛出,代码将停止工作

处理完异常(例如,通过显示警报、toast或其他方式)后,返回
Observable.empty()
而不是
Observable.throw
Observable.empty
是一个可以立即“完成”而不“下一步”任何值的可观察对象;这将正确停止您的可观察流