ionic-angular
Version:
A powerful framework for building mobile and progressive web apps with JavaScript and Angular
62 lines • 1.7 kB
JavaScript
import { ErrorHandler } from '@angular/core';
/**
* @name IonicErrorHandler
* @description
* The `IonicErrorHandler` intercepts the default `Console` error handling
* and displays runtime errors as an overlay when using Ionic's Dev Build Server.
*
*
* ### IonicErrorHandler Example
*
* ```typescript
* import { ErrorHandler, NgModule } from '@angular/core';
* import { IonicErrorHandler } from 'ionic-angular';
*
* @NgModule({
* providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }]
* })
* class AppModule { }
* ```
*
*
* ### Custom Error Handlers
*
* Custom error handlers can be built to replace the default, or extend Ionic's
* error handler.
*
* ```typescript
* class MyErrorHandler implements ErrorHandler {
* handleError(err: any): void {
* // do something with the error
* }
* }
*
* @NgModule({
* providers: [{ provide: ErrorHandler, useClass: MyErrorHandler }]
* })
* class AppModule { }
* ```
*
* More information about Angular's [`ErrorHandler`](https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html).
*/
export class IonicErrorHandler extends ErrorHandler {
constructor() {
super();
}
/**
* @internal
*/
handleError(err) {
super.handleError(err);
try {
const win = window;
let monitor;
monitor = win['IonicDevServer'];
monitor && monitor.handleError && monitor.handleError(err);
monitor = (win['Ionic'] = win['Ionic'] || {}).Monitor;
monitor && monitor.handleError && monitor.handleError(err);
}
catch (e) { }
}
}
//# sourceMappingURL=ionic-error-handler.js.map