Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 注册角度错误处理程序?_Node.js_Angular_Typescript_Stackblitz - Fatal编程技术网

Node.js 注册角度错误处理程序?

Node.js 注册角度错误处理程序?,node.js,angular,typescript,stackblitz,Node.js,Angular,Typescript,Stackblitz,尝试在中注册Angular ErrorHandler,但是它没有记录HelloComponent构造函数中抛出的错误 想法?我认为这里的问题是,通过在HelloComponent的构造函数中抛出错误,实际上不允许注册ErrorHandler 如果您在应用程序正确引导后抛出错误,可能只需单击一个按钮,那么您的ErrorHandler就会捕获它 在AppComponent模板中尝试以下操作: ... <button (click)="throwError()">Click Me To

尝试在中注册Angular ErrorHandler,但是它没有记录HelloComponent构造函数中抛出的错误


想法?

我认为这里的问题是,通过在HelloComponent的构造函数中抛出错误,实际上不允许注册ErrorHandler

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

在AppComponent模板中尝试以下操作:

...

<button (click)="throwError()">Click Me To Generate Error</button>
以及您的Hello组件:

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

@Component({...})
export class AppComponent  {
  ...
  throwError() {
    throw new Error("This error should be caught by our handler.");
  }
}
import { Component, Input } from '@angular/core';

@Component({...})
export class HelloComponent  {
  @Input() name: string;
  constructor() {
  }
}
这是给你的裁判的一封信


你能给问题加上你的代码吗?stackblitz是超小型的。它只包含应用模块中的错误处理程序和相应的提供者配置。是的,如果链接在将来某个时候停止工作,在问题中发布代码仍然是好的。如果它是超级简约的,那就更好了。有很多关于如何注册处理程序的教程。只是它对我不起作用。让我们把问题中的噪音控制在最低限度,直到我们弄清楚相关的细节是什么。请看-问题与stackblitz有关-与代码无关。如果有人想知道如何执行错误处理注册,他们可以通过谷歌搜索。添加不必要的细节只会浪费读者的时间。我尝试单击按钮,但没有看到控制台。记录“错误为”,错误;在错误处理程序中触发。想法?我尝试打开开发工具/浏览器控制台,但仍然没有看到错误是:。。。被调用。你看到了吗?你可能误读了我上面的评论。我指定您必须在新窗口中打开,然后单击按钮以查看控制台上的消息。现在你只能在StackBlitz的控制台上看到它。这就是为什么您会看到消息:错误:对象太大,无法检查。打开浏览器控制台进行查看。