I need to implement global error handling in Angular 4 app. It is ErrorHandler mechanism, that works for some cases, but not for all.
For example, when we got some critical error, like missing template or something, ErrorHandler ignores it. When I use wrong URL for template I get a zone.js error:
zone.js?fad3:567 Unhandled Promise rejection: Template parse errors: 'my-app' is not a known element:
zone.js doesn't throw an exception, but just a console error, so window.onerror doesn't work too.
Error handler:
@Injectable()
export class CommonErrorHandler implements ErrorHandler {
    constructor(private injector: Injector) {
    }
    public handleError(error: any): void {
        console.log("error", error);
    }
}
Registration in app.module:
 providers: [
        AuthGuard,
        { provide: ErrorHandler, useClass: CommonErrorHandler }
}
UPDATE: Plnkr