UNPKG

8.44 kBSource Map (JSON)View Raw
1{"version":3,"file":"exception_handler.js","sourceRoot":"","sources":["../../../../../modules/@angular/router-deprecated/src/facade/exception_handler.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseWrappedException} from './base_wrapped_exception';\nimport {isListLikeIterable} from './collection';\nimport {isBlank, isPresent} from './lang';\n\nclass _ArrayLogger {\n res: any[] = [];\n log(s: any): void { this.res.push(s); }\n logError(s: any): void { this.res.push(s); }\n logGroup(s: any): void { this.res.push(s); }\n logGroupEnd(){};\n}\n\n/**\n * Provides a hook for centralized exception handling.\n *\n * The default implementation of `ExceptionHandler` prints error messages to the `Console`. To\n * intercept error handling,\n * write a custom exception handler that replaces this default as appropriate for your app.\n *\n * ### Example\n *\n * ```javascript\n *\n * class MyExceptionHandler implements ExceptionHandler {\n * call(error, stackTrace = null, reason = null) {\n * // do something with the exception\n * }\n * }\n *\n * bootstrap(MyApp, {provide: ExceptionHandler, useClass: MyExceptionHandler}])\n *\n * ```\n * @stable\n */\nexport class ExceptionHandler {\n constructor(private _logger: any, private _rethrowException: boolean = true) {}\n\n static exceptionToString(exception: any, stackTrace: any = null, reason: string = null): string {\n var l = new _ArrayLogger();\n var e = new ExceptionHandler(l, false);\n e.call(exception, stackTrace, reason);\n return l.res.join('\\n');\n }\n\n call(exception: any, stackTrace: any = null, reason: string = null): void {\n var originalException = this._findOriginalException(exception);\n var originalStack = this._findOriginalStack(exception);\n var context = this._findContext(exception);\n\n this._logger.logGroup(`EXCEPTION: ${this._extractMessage(exception)}`);\n\n if (isPresent(stackTrace) && isBlank(originalStack)) {\n this._logger.logError('STACKTRACE:');\n this._logger.logError(this._longStackTrace(stackTrace));\n }\n\n if (isPresent(reason)) {\n this._logger.logError(`REASON: ${reason}`);\n }\n\n if (isPresent(originalException)) {\n this._logger.logError(`ORIGINAL EXCEPTION: ${this._extractMessage(originalException)}`);\n }\n\n if (isPresent(originalStack)) {\n this._logger.logError('ORIGINAL STACKTRACE:');\n this._logger.logError(this._longStackTrace(originalStack));\n }\n\n if (isPresent(context)) {\n this._logger.logError('ERROR CONTEXT:');\n this._logger.logError(context);\n }\n\n this._logger.logGroupEnd();\n\n // We rethrow exceptions, so operations like 'bootstrap' will result in an error\n // when an exception happens. If we do not rethrow, bootstrap will always succeed.\n if (this._rethrowException) throw exception;\n }\n\n /** @internal */\n _extractMessage(exception: any): string {\n return exception instanceof BaseWrappedException ? exception.wrapperMessage :\n exception.toString();\n }\n\n /** @internal */\n _longStackTrace(stackTrace: any): any {\n return isListLikeIterable(stackTrace) ? (<any[]>stackTrace).join('\\n\\n-----async gap-----\\n') :\n stackTrace.toString();\n }\n\n /** @internal */\n _findContext(exception: any): any {\n try {\n if (!(exception instanceof BaseWrappedException)) return null;\n return isPresent(exception.context) ? exception.context :\n this._findContext(exception.originalException);\n } catch (e) {\n // exception.context can throw an exception. if it happens, we ignore the context.\n return null;\n }\n }\n\n /** @internal */\n _findOriginalException(exception: any): any {\n if (!(exception instanceof BaseWrappedException)) return null;\n\n var e = exception.originalException;\n while (e instanceof BaseWrappedException && isPresent(e.originalException)) {\n e = e.originalException;\n }\n\n return e;\n }\n\n /** @internal */\n _findOriginalStack(exception: any): any {\n if (!(exception instanceof BaseWrappedException)) return null;\n\n var e = exception;\n var stack = exception.originalStack;\n while (e instanceof BaseWrappedException && isPresent(e.originalException)) {\n e = e.originalException;\n if (e instanceof BaseWrappedException && isPresent(e.originalException)) {\n stack = e.originalStack;\n }\n }\n\n return stack;\n }\n}\n"]}
\No newline at end of file