-5

ErrorHandler尝试在这个最小的 stackblitz中注册一个 Angular ,但是它没有记录在HelloComponent.

想法?

4

1 回答 1

0

我认为这里的问题是,通过throwErrorofconstructor中添加HelloComponent,你并没有真正允许ErrorHandler注册。

如果您在应用程序正确引导后抛出错误,可能是单击一个按钮,那么您的 ErrorHandler 应该捕获它。

在你的 AppComponent 模板中试试这个:

...

<button (click)="throwError()">Click Me To Generate Error</button>

在您的 AppComponent 中:

import { Component } from '@angular/core';

@Component({...})
export class AppComponent  {
  ...
  throwError() {
    throw new Error("This error should be caught by our handler.");
  }
}

还有你的 HelloComponent:

import { Component, Input } from '@angular/core';

@Component({...})
export class HelloComponent  {
  @Input() name: string;
  constructor() {
  }
}

这是您参考的工作示例 StackBlitz

在此处输入图像描述

于 2019-03-07T22:57:24.063 回答