0

我们目前的情况如前所述,我们有一个巨大的 Angular 应用程序,其中在带有错误处理的各种组件中触发了很多 API 调用,因此错误将通过 toast 消息显示给用户。在我们的HttpService我们正在做这样的事情:


lorem.pipe(
 ...
 catchError(this.formatError)
);
...

formatError(error) {
   return throwError(error.error);
}

error.error包含 JSON 错误消息,如{ success: false, code: 'XY' }

在我们的组件中,我们使用成功代码来显示适当的错误消息。

现在的问题是: 我们正在使用 Sentry.io 使用 angular 的ErrorHandler功能来捕获客户端异常,但似乎该handleError函数除了Object类型的正确性,Event因此我们收到了很多虚假的错误消息传输。

我的问题是,map错误结果在被抛出后是否有任何可能性,以便接收有效handleError但组件内部可观察对象的错误部分中的错误部分仍然会得到as 错误,所以我们不不必重写每一个错误处理并且仍然得到一个?ErrorHandlerEventsubscribeJSON-ObjectEventErrorHandler

4

1 回答 1

0

Sentry.io 有特定的处理程序:ErrorHandler 只处理错误类型。如果你想确保它是一个事件,你需要确保你抛出的项目的类型是一个错误。在您的情况下,您需要确保throwError(new Error(error)).

更可取的是,您将为您的错误创建一个类似于以下格式的自定义类: 在此处输入图像描述

于 2020-02-25T18:32:29.403 回答