Angulaire 4, personnalisé ErrorHandler ne reconnaît pas d'Erreur personnalisé

J'ai essayé de créer un personnalisé, global ErrorHandler et suivi les instructions détaillées ici

l'application gestionnaire d'erreurs (en partie)

@Injectable()
export class ApplicationErrorHandler extends ErrorHandler {

    constructor(private injector: Injector) {
        super(false);
    }

    handleError(error: any): void {

        if (error instanceof ApplicationError || error.originalError instanceof ApplicationError) {
            this.addError(error.originalError);
        }
        else {
            super.handleError(error);
        }
    }

app-module

 providers: [
    {
        provide: ErrorHandler,
        useClass: ApplicationErrorHandler
    }
],

app.composant (seulement la partie importante)

public ngOnInit(): void { 
    const error = new ApplicationError();
    error.message = "fehler";
    throw error;
} 

demande-erreur

export class ApplicationError implements Error {
    name: string;
    message: string;
    httpStatus?: number = 404;
    applicationStatus?: number;
    errorMessageTranslationkey: string;
    handled: boolean = false;
}

dans mon application.composant je jette un ApplicationError (en ngOnInit), mon ErrorHandler est appelé avec succès.
Mais mon erreur dans handleError est toujours de type Error et error.originalError est toujours undefined, peu importe si je jette mon erreur personnalisé et là, le if permettra jamais de résoudre vrai.

Je n'ai aucune idée de pourquoi et le comment de ce qui se passe.
Ce que je vois, c'est que l'erreur devient, donc, je suppose, enveloppé parce que quand je debug, je vois error: Error: [object: Object] at viewWrappedDebugError (vendor.bundle.js)

Aucune idée de ce qui pourrait causer ce problème et comment le résoudre?

MODIFIER
Comme suspect, il a quelque chose à voir avec Debugmode. Dès que j'active prodmode avec enableProdMode(); qu'il fonctionne comme prévu.

Encore ce n'est pas vraiment répondre à ma question.

Comment puis-je gérer mon erreur personnalisé angulaire sur le mode debug?

Pouvez-vous ajouter le bloc de code dans lequel vous jeter dans l'erreur avec throw new ApplicationError()? Notez également que @NgModule() providers bien besoin d'être un tableau comme dans ceci de la définition.
J'ai ajouté le code où je suis jeter de l'erreur. la chose avec provider était une faute de frappe. J'ai mis à jour le code

OriginalL'auteur Arikael | 2017-05-22

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *