Я пытаюсь создать приложение в angular, но у меня возникает проблема, когда мое приложение не может перехватить исключение, генерируемое в zone.js (версия ^ 0.8.26).
Я относительно новичок в angular, но моя цель - иметь свой собственный ErrorHandler, чтобы перехватывать все исключения, которые не были обработаны в моих компонентах и сервисах. Но по какой-то причине исключение не дошло до моего ErrorHandler. Согласно консоли моего браузера, исключение создается внутри zone.js (строка 192), ниже приведен фрагмент этого файла
try {
if (task.type == macroTask && task.data && !task.data.isPeriodic) {
task.cancelFn = null;
}
try {
return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
}
catch (error) {
if (this._zoneDelegate.handleError(this, error)) {
throw error;
}
}
}
HTTP-запрос, который вызывал ошибку, получен из наблюдаемой. Может ли это означать, что исключение возникает за пределами моего углового приложения? Ниже приведен поток моего кода.
this.xyz.getResult().subscribe(result=> {
this.callAction(result); //this is expected to throw an HttpErrorResponse, but the exception that was raised from zone.js does not reach my ErrorHandler
});