UNPKG

6.34 kBSource Map (JSON)View Raw
1{"version":3,"file":"error_handler.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/error_handler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {WrappedError} from './facade/errors';\n/**\n * \\@whatItDoes Provides a hook for centralized exception handling.\n * \n * \\@description \n * \n * The default implementation of `ErrorHandler` prints error messages to the `console`. To\n * intercept error handling, write a custom exception handler that replaces this default as\n * appropriate for your app.\n * \n * ### Example\n * \n * ```\n * class MyErrorHandler implements ErrorHandler {\n * handleError(error) {\n * // do something with the exception\n * }\n * }\n * \n * \\@NgModule({ \n * providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]\n * })\n * class MyModule {}\n * ```\n * \n * \\@stable\n */\nexport class ErrorHandler {\n /**\n * @internal\n */\n _console: Console = console;\n\n /**\n * @internal\n */\n rethrowError: boolean;\n/**\n * @param {?=} rethrowError\n */\nconstructor(rethrowError: boolean = true) { this.rethrowError = rethrowError; }\n/**\n * @param {?} error\n * @return {?}\n */\nhandleError(error: any): void {\n const /** @type {?} */ originalError = this._findOriginalError(error);\n const /** @type {?} */ originalStack = this._findOriginalStack(error);\n const /** @type {?} */ context = this._findContext(error);\n\n this._console.error(`EXCEPTION: ${this._extractMessage(error)}`);\n\n if (originalError) {\n this._console.error(`ORIGINAL EXCEPTION: ${this._extractMessage(originalError)}`);\n }\n\n if (originalStack) {\n this._console.error('ORIGINAL STACKTRACE:');\n this._console.error(originalStack);\n }\n\n if (context) {\n this._console.error('ERROR CONTEXT:');\n this._console.error(context);\n }\n\n // We rethrow exceptions, so operations like 'bootstrap' will result in an error\n // when an error happens. If we do not rethrow, bootstrap will always succeed.\n if (this.rethrowError) throw error;\n }\n/**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n_extractMessage(error: any): string {\n return error instanceof Error ? error.message : error.toString();\n }\n/**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n_findContext(error: any): any {\n if (error) {\n return error.context ? error.context :\n this._findContext(( /** @type {?} */((error as WrappedError))).originalError);\n }\n\n return null;\n }\n/**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n_findOriginalError(error: any): any {\n let /** @type {?} */ e = ( /** @type {?} */((error as WrappedError))).originalError;\n while (e && ( /** @type {?} */((e as WrappedError))).originalError) {\n e = ( /** @type {?} */((e as WrappedError))).originalError;\n }\n\n return e;\n }\n/**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n_findOriginalStack(error: any): string {\n if (!(error instanceof Error)) return null;\n\n let /** @type {?} */ e: any = error;\n let /** @type {?} */ stack: string = e.stack;\n while (e instanceof Error && ( /** @type {?} */((e as WrappedError))).originalError) {\n e = ( /** @type {?} */((e as WrappedError))).originalError;\n if (e instanceof Error && e.stack) {\n stack = e.stack;\n }\n }\n\n return stack;\n }\n}\n\nfunction ErrorHandler_tsickle_Closure_declarations() {\n/**\n * \\@internal\n * @type {?}\n */\nErrorHandler.prototype._console;\n/**\n * \\@internal\n * @type {?}\n */\nErrorHandler.prototype.rethrowError;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
\No newline at end of file