Я пытаюсь создать централизованную обработку исключений (для всего кода, а не только наблюдаемых) в Angular 2, так что если есть необработанная ошибка, это не сработает приложение, но запишет его. В настоящий момент мое приложение становится невосприимчивым, когда есть необработанное исключение, и я должен его перезагрузить. Я создал ErrorHandler следующим образом:Как создать централизованную обработку исключений в Angular 2 для восстановления из необработанных исключений
import { NgModule, ErrorHandler } from '@angular/core';
export class AppErrorHandler implements ErrorHandler
{
rethrowError = false;
handleError(error: any)
{
}
}
Необработанные ошибки действительно идут в HandleError, но, как представляется, вызваны повторно, как мое приложение перестает работать. Пожалуйста помоги.
Если вы реализуете ErrorHandler, вам нужно переопределить/реализовать функцию 'call', которая может быть чем-то вроде' call (error, stackTrace = null, reason = null) '. Также проверьте часть поставщика в моем ответе. – bhantol
Привет, бхантол, спасибо за ваш ответ. У меня уже был раздел обеспечения, который вы показали ниже. Ошибки успешно попадают в функцию handleError. Проблема в том, что она по-прежнему нарушает мое приложение. Я хотел бы, чтобы ошибка регистрировалась и продолжалась, если это было возможно. – LanceM
Возможно, вы захотите описать сценарий, определяя, что вы имеете в виду при аварии. Что происходит с «крахом», и то, что вы не хотите, - это то, что поможет дальше. – bhantol