问题标签 [angular-errorhandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
567 浏览

angular - Angular ErrorHandler 和 HttpErrorResponse

今天我决定为我的 Angular 应用程序更多地研究一些集中式错误报告。我使用了 Michael Karén 关于 Medium 的精彩文章(https://medium.com/angular-in-depth/expecting-the-unexpected-best-practices-for-error-handling-in-angular-21c3662ef9e4)解释如何处理客户端和服务器端的问题并记录它们。

在我的示例项目中,我有一个非常简单的拦截器:

还有非常简单的ErrorHandler:

是的,到目前为止,它并不是真正的日志记录,但这不是问题。然而,我注意到的是,当使用 Angular 时HttpClient,或者 1) 使用toPromise()方法而不是订阅,或者 2) 在响应时订阅错误,错误处理程序会说这error instanceof HttpErrorResponse是错误的。所以..

这将正确记录“服务器”:

这将错误地记录“客户端”:

这也会错误地记录“客户端”:

由于我完全无法理解这里到底发生了什么以及为什么会出现问题,请有人帮我正确报告 HTTP 错误吗?我正在考虑在 HttpInterceptor 中记录这些错误,但是当抛出它们时,ErrorHandler 会将它们再次记录为客户端错误。

为什么我使用回调 使用回调主要是因为所有这些调用都在各自的服务中。例如,用户服务从端点获取数据,对数据做一些事情,然后解决一个承诺(或完成观察者,无论如何)

编辑:

我创建了一个 StackBlitz 示例来说明问题:https ://stackblitz.com/edit/angular-ivy-gjtxk2

0 投票
0 回答
51 浏览

angular - Angular 应用程序发生错误时如何发送服务器错误请求?

我有一个全局错误拦截器,它在服务器返回错误响应时处理错误。我有错误拦截器来处理它。

在我的用例中,每当 angular app 发生错误时,请考虑服务器发送 200 的响应,并且在响应中缺少一个属性,因此 angular app 将中断并在控制台中出现错误。有没有更好的方法来处理任何错误以进行服务器调用?

0 投票
1 回答
577 浏览

angular - Angular获取所有控制台错误

我正在尝试捕获我的 Angular 应用程序的所有控制台错误,不仅是 http 响应错误,还有那些在应用程序中生成的错误。我的意思是,所有控制台错误,像这样

在此处输入图像描述

或者像这样

在此处输入图像描述

或者像这样

在此处输入图像描述

我需要的是,当我捕捉到一些此类错误(应用程序错误和 http 错误)时,我将其放入数据库的另一个服务中以存储问题并进行一些统计。

我进行了研究,并遇到了以下解决方案:

一、angular解决方案---> https://angular.io/api/core/ErrorHandler

这也回答了--->如何在Angular应用程序中获取所有控制台错误消息

this ----> Angular 错误处理和日志记录 - 调用 GlobalErrorHandler 的 handleError

这----> https://www.concretepage.com/angular/angular-custom-error-handler

但似乎没有一个工作(甚至没有http响应)

我正在尝试集中执行此操作,我的意思是,一个可以捕获所有错误的服务,无论发生错误的模块或组件如何,然后发送到我的其他服务并将错误存储在我的数据库中......这可能吗?怎么可能?

太感谢了!

0 投票
1 回答
62 浏览

angularjs - 为什么我在 Angular 中遇到错误。无法获取 /

实现路由后,我遇到了错误can't GET / in Angular。

0 投票
1 回答
36 浏览

angular - 我不能将 GlobalErrorHandler 用作 Injectable(),并在未找到惰性函数子时启动它?

问题

我想用这个

我的项目中有 app.modules.ts --> pages.module.ts --> Child(应该启动 ErrorHandler 的模块)

0 投票
1 回答
335 浏览

angular - 未触发 rxjs 错误订阅

我有一个 .net Core web-api 应用程序。我故意从控制器返回一个异常,但我没有看到在订阅的错误处理中处理该异常。这是我的代码(手工复制,所以可能会出现拼写错误):控制器:

角服务:

零件:

0 投票
2 回答
636 浏览

angular - 从 web-api 返回错误 500 时 catchError 不工作

在尝试了更复杂的场景之后,没有解决方案,我回到了基础:

我有一个 web-api 控制器,当返回错误 500 时,我希望客户端能够捕获它。

出于某种原因 - 这没有发生 - 我可能在这里遗漏了一些东西。

当控制器处于正常状态时,该机制可以完美运行。

运行此代码时 - 在控制台中,我可以看到:错误 500 消息和错误和错误声明:“您提供了一个无效的对象,其中预期有一个流......”

我在这里想念什么?

这是我的代码(手写,而不是复制+粘贴 - 忽略拼写错误):

控制器故意返回异常:

角服务:

消费组件:

0 投票
1 回答
251 浏览

angular - 如何使用 Http 拦截器处理 Angular 中的服务器错误

我正在尝试在 Angular 项目中处理来自后端的服务器错误。我正在使用角度 HTTP 拦截器。这是我的拦截器服务类

我在 app.module.ts 文件中添加了这个。

如果我检查并检查 UI,我可以看到红色的500 服务器错误。如何通过在我的 Angular 项目中结合这个 http 拦截器在 html 代码中显示用户友好的消息。我可以使用这个 http 拦截器在 UI 中显示用户友好的错误消息吗?如果我使用 http 拦截器,是否需要使用代理?

0 投票
0 回答
2247 浏览

angular - 如何使用 ToastrService 在 Angular 中显示服务器错误的 Toastr 通知

我正在使用 ToastrService 显示服务器错误通知。但这似乎不起作用。在 Ui 中,如果由于支持的问题导致获取请求未将数据加载到表格视图中,如何在特定的 UI、组件中显示 Toast 消息?我是否需要在该特定组件中添加诸如超时之类的内容或app.component.ts file.

这是我的 httpInterceptor 类。

这是我的 app.module.ts 文件

这是我的 messageService 类。

当请求超时或找不到后端服务器 url 或类似的服务器错误时,我如何向用户显示 Toast 消息?

0 投票
1 回答
175 浏览

angular - 断言错误:这个 TNode 不属于这个 TView。从 v7.1 到 v11 的角度更新后

我已将 Angular 应用程序从 v7.1 更新到 v11,更新成功,但更新后出现以下错误。