Angular2 ErrorHandler,错误破坏了代码

时间:2017-03-02 12:09:17

标签: 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错误,但我希望实现一个目标,即每个错误都会被记录,但角度应用程序的其余部分将正常工作。

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

1 个答案:

答案 0 :(得分:0)

只是不要重新抛出错误。

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