Angular 2+抛出JS错误,继续破碎运行

问题描述 投票:-2回答:1

我正在使用Angular构建一个工具(第5版),我遇到的问题是,当应用程序一直运行时,某些错误似乎会导致某些事情崩溃。我的工具还必须经过全面测试,产生的错误是编码错误,但问题是,如果发生这种情况,用户体验似乎完全破碎,无法访问。

例如:我正在使用反应形式来构建我们的动态表单。发生的问题是无法将输入映射到其表单控件。 (在这种情况下,主窗体内的窗体数组中的组内的窗体域)

cannot find control with name 'XYZ'

这发生在测试过程中,它以一种用户仍然可以导航的方式打破了应用程序,但新页面有点呈现在旧页面之下。我们有一个加载微调器,它在init上和加载数据之前显示。从一个破坏的页面导航到一个使HTTP请求加载到页面并且其旋转器正在运行的页面,但实际上这些请求永远不会被执行。 select2也被打破了。因此,虽然JS在某种程度上崩溃了一些核心Angular函数仍在工作,例如路由器。

我知道摆脱它的最好方法是测试和修复错误,但这对用户来说非常恼火。在usersnap上,我的反馈工具得到了许多随后出现这个初始错误的票据,而且由于很多东西仍在呈现,因此从截图中很难说出究竟出了什么问题。

有没有办法让应用程序以更优雅的方式崩溃?

我们在生产中使用sentry进行错误记录,并将其作为替代错误处理程序实现:

export const provider = environment.production ? [{provide: ErrorHandler, useClass: RavenErrorHandler}] : [];

但我想使用多个错误处理程序是不可能的?

补充:这个问题源于我没有正确设置表格的事实。

angular
1个回答
1
投票

如果你需要帮助,你需要显示一些更具体的代码,但一般来说,你的代码应该考虑到所有可能的错误,并且有适当的错误处理,这样用户就不会遇到这样的错误。

© www.soinside.com 2019 - 2024. All rights reserved.