feat(lang): added "context" to BaseException
This commit is contained in:
parent
8ad4ad57d1
commit
8ecb632d70
@ -145,6 +145,11 @@ function _createNgZone(givenReporter: Function): NgZone {
|
||||
var defaultErrorReporter = (exception, stackTrace) => {
|
||||
var longStackTrace = ListWrapper.join(stackTrace, "\n\n-----async gap-----\n");
|
||||
DOM.logError(`${exception}\n\n${longStackTrace}`);
|
||||
|
||||
if (exception instanceof BaseException && isPresent(exception.context)) {
|
||||
print("Error Context:");
|
||||
print(exception.context);
|
||||
}
|
||||
throw exception;
|
||||
};
|
||||
|
||||
|
@ -183,11 +183,12 @@ class FunctionWrapper {
|
||||
}
|
||||
|
||||
class BaseException extends Error {
|
||||
final dynamic context;
|
||||
final String message;
|
||||
final originalException;
|
||||
final originalStack;
|
||||
|
||||
BaseException([this.message, this.originalException, this.originalStack]);
|
||||
BaseException([this.message, this.originalException, this.originalStack, this.context]);
|
||||
|
||||
String toString() {
|
||||
return this.message;
|
||||
@ -225,7 +226,7 @@ bool isJsObject(o) {
|
||||
|
||||
var _assertionsEnabled = null;
|
||||
bool assertionsEnabled() {
|
||||
if (_assertionsEnabled == null) {
|
||||
if (_assertionsEnabled == null) {
|
||||
try {
|
||||
assert(false);
|
||||
_assertionsEnabled = false;
|
||||
|
@ -11,11 +11,18 @@ export function getTypeNameForDebugging(type: Type): string {
|
||||
|
||||
export class BaseException extends Error {
|
||||
stack;
|
||||
constructor(public message?: string, public originalException?, public originalStack?) {
|
||||
constructor(public message?: string, private _originalException?, private _originalStack?,
|
||||
private _context?) {
|
||||
super(message);
|
||||
this.stack = (<any>new Error(message)).stack;
|
||||
}
|
||||
|
||||
get originalException(): any { return this._originalException; }
|
||||
|
||||
get originalStack(): any { return this._originalStack; }
|
||||
|
||||
get context(): any { return this._context; }
|
||||
|
||||
toString(): string { return this.message; }
|
||||
}
|
||||
|
||||
@ -118,7 +125,9 @@ export function stringify(token): string {
|
||||
return token.name;
|
||||
}
|
||||
|
||||
return token.toString();
|
||||
var res = token.toString();
|
||||
var newLineIndex = res.indexOf("\n");
|
||||
return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
|
||||
}
|
||||
|
||||
export class StringWrapper {
|
||||
|
Loading…
x
Reference in New Issue
Block a user