我正在制作我自己的异常处理程序包装器,我只在里面使用一个console.log来测试它是否工作。但是,调用一个不存在的函数以便触发错误,可以打印三次console.log。
但是,将错误触发器移动两次到ngOnInit console.log。我觉得很奇怪吗?
注意:throw Error('hello')
也是这样做的
exception.handler.ts
import { ErrorHandler, Injectable, Injector } from '@angular/core'
import { ExceptionLoggingService } from './exception-logging.service'
@Injectable()
export class ExceptionHandler implements ErrorHandler {
constructor (private injector: Injector) { }
handleError (error) {
// const loggingService = this.injector.get(ExceptionLoggingService)
// const message = error.message ? error.message : error.toString()
console.log('hello')
throw error
}
}
使用角v5.0.3
发布于 2017-12-09 05:34:57
以下是角度文献对ErrorHandler的看法:
ErrorHandler的默认实现将错误消息打印到控制台。
因此,我认为如果您删除throw error
并简单地记录您的消息,则应该只在控制台中打印一次:
handleError (error) {
console.log('hello');
//throw error;
}
https://stackoverflow.com/questions/47727171
复制相似问题