【问题标题】:Angular2 Global ErrorHandling DialogAngular2 全局错误处理对话框
【发布时间】:2017-09-22 10:42:54
【问题描述】:

Angular 全局错误处理对话框

我正在开发一个 angular2 应用程序,我正在尝试对其进行一些全局异常处理。基本上我要做的是捕获应用程序中的每个异常,然后弹出一个对话框,显示错误标题和错误消息。

我发现你可以只实现你自己的 ErrorHandler,而不是像这样在你的 appModule 中提供它:

providers: [{
    provide: ErrorHandler,
    useClass: CustomHandler
}]

现在我想知道是否有可能在 errorhandler 中有一个 observable,appComponent 可以订阅它并执行触发对话框屏幕显示以显示错误的功能。 (我打算让我的后端抛出自定义错误)

我在设置这样的东西时遇到了很多麻烦,并且找不到很多这样的例子,所以我开始觉得这不是一个真正想要的方式关于处理异常。欢迎就如何解决此类问题提出建议。

【问题讨论】:

    标签: angular exception-handling observable


    【解决方案1】:

    我回答了一个可能对您有帮助的类似问题:https://stackoverflow.com/a/43610743/5049472

    在你的情况下,如果你想添加一个错误,你可以做yourService.setError(message: string)

    然后显示错误的组件(包含对话框的组件)必须订阅该服务。当另一个组件设置它时,它将检索错误消息。

    关于如何显示对话框的想法:

    <dialog *ngIf="showDialog"></dialog>
    

    假设这是在订阅服务的组件中。showDialog 是一个布尔值,在开头设置为false。当您收到错误消息时,将其设置为 true。当用户关闭对话框时,您将其设置为false

    【讨论】:

    • 感谢您的建议,目前它的工作很可悲 我的错误处理程序似乎没有捕捉到所有错误。所以仍然需要进行更多调试以查看问题所在。
    猜你喜欢
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 2023-04-01
    • 2010-11-25
    • 1970-01-01
    • 2013-03-06
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多