angular - Angular2 ErrorHandler,错误导致代码中断

标签 angular typescript error-handling

import { Injectable, ErrorHandler, Inject, Injector } from '@angular/core';
import { MessengerService } from '../services';
import { MessageTypeEnum } from '../../shared';

@Injectable()
export class AppErrorHandler extends ErrorHandler {

    constructor(private messengerService: MessengerService) {
        super(true);
    }

    handleError(error) {
        console.log('ERROR!');
        console.log(error);
        this.messengerService.showMessage('Nastala chyba', 'Předem se omlouváme za vzniklé potíže', MessageTypeEnum.Error);
    }
}

日志记录有效,但是该应用程序仍然崩溃,并且日志记录也跟踪http错误,但是我想实现一个目标,即将记录每个错误,但其他 Angular 应用程序将正常运行。

错误示例:
value.getMonth不是ViewWrappedError.ZoneAwareError的函数
要么
404、500个http错误

最佳答案

只是不要抛出错误。

constructor(private messengerService: MessengerService) {
    super(true);
}

你需要在这里放假
super(false);

说明文件:
https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html

资料来源:https://github.com/angular/angular/blob/master/modules/%40angular/core/src/error_handler.ts

关于angular - Angular2 ErrorHandler,错误导致代码中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42555149/

相关文章:

c - 浮点方程检查 ansi c - isnormal()

python - Python Twitter Tools-处理Twitter 404和401 API错误

http - API 何时应抛出 4xx 状态代码(错误),何时抛出 5xx?

Angular/ typescript : how to initialize Observable matrix

javascript - 使用map方法将javascript对象数组转换为其他对象数组

javascript - 在 super() 调用完成之前设置实例成员

typescript - 在这个例子中如何使用泛型类型实现类型安全?

http - 未捕获的类型错误 : result. 订阅不是函数

javascript - 使用 Angular '[attr.aria-hidden]' 隐藏的标签仍然可以使用 Tab 和 Enter 访问和单击

angular - NgRx 对 switchMap 和 catchError 的影响 - 有人可以解释我的代码和 'correct' 代码之间可观察到的工作流的区别吗?