Angular 捕获异常并在视图中显示错误消息

Angular 捕获异常并在视图中显示错误消息,angular,typescript,exception,rxjs,observable,Angular,Typescript,Exception,Rxjs,Observable,在使用catch()的subscribe()方法时,我能够捕获异常,但这是在服务调用的基础上完成的 是否有方法捕获页面中任何位置发生的异常并将其显示在视图中 捕获异常并在控制台中显示它们是很简单的,但是我需要在视图中显示一些东西,以提供有用的错误消息,而不是仅仅冻结 谢谢您可以覆盖模块中的全局错误处理程序: 对于自定义错误对话框或错误消息,我将创建一个自定义ErrorLogService,它允许组件订阅错误事件。显示错误的组件将订阅错误事件,并显示错误消息,或弹出错误对话框 关于如何使用Flu

在使用
catch()
subscribe()
方法时,我能够捕获异常,但这是在服务调用的基础上完成的

是否有方法捕获页面中任何位置发生的异常并将其显示在视图中

捕获异常并在控制台中显示它们是很简单的,但是我需要在视图中显示一些东西,以提供有用的错误消息,而不是仅仅冻结


谢谢

您可以覆盖模块中的全局错误处理程序:

对于自定义错误对话框或错误消息,我将创建一个自定义ErrorLogService,它允许组件订阅错误事件。显示错误的组件将订阅错误事件,并显示错误消息,或弹出错误对话框

关于如何使用Flux来实现这一点,请参见此答案(模式很重要,而不是涉及的特定类):

您可以使用来对页面上的所有异常做出反应,但我不确定这是否是一个好主意。。。
import { NgModule, ErrorHandler } from '@angular/core';

class MyErrorHandler implements ErrorHandler {
  handleError(error) {
    // do something with the exception
  }
}
@NgModule({
  providers: [{ provide: ErrorHandler, useClass: MyErrorHandler }]
})
class MyModule {}