我在我的 Angular 应用程序中创建了全局错误处理程序:
export class GlobalErrorHandlerComponent implements ErrorHandler {
constructor(private injector: Injector) { }
handleError(error: Error) {
const router = this.injector.get(Router);
console.log(error.name);
console.log(router.url);
console.log(error.message);
const route = this.injector.get(ActivatedRoute);
var snapshot = route.snapshot;
console.log(snapshot.routeConfig.component.name); //unlucky it doesnt work :(
}
}
我已经获取到了所有需要进行统计的数据,不过我也想要导致错误发生的组件名称。我尝试了许多方法(其中一些看起来比较有意义),但不幸的是它们并没有起作用。是否有任何方法可以获取这些信息?
编辑:样本日志
![enter image description here](https://istack.dev59.com/iHsOD.webp)
![enter image description here](https://istack.dev59.com/kj9u0.webp)
error.stack
是你的错误变量的一个属性吗?@Adam 引起错误的组件应该在堆栈跟踪中,我第一个问题表述不清楚,你能提供console.log(error)
的输出吗? - Woohoojin