RenderError extends original error

This commit is contained in:
harttle
2017-01-21 19:41:19 +08:00
parent 7d22214cb5
commit 21a5ac7e08
+7 -5
View File
@@ -18,16 +18,17 @@ TokenizationError.prototype = Object.create(Error.prototype);
TokenizationError.prototype.constructor = TokenizationError;
function ParseError(e, token) {
_.assign(this, e);
this.originalError = e;
this.name = this.constructor.name;
this.stack = e.stack;
this.input = token.input;
this.line = token.line;
this.file = token.file;
var context = mkContext(token.input, token.line);
this.message = mkMessage(e.message, token);
this.stack = context + '\n' + (this.stack || '');
this.message = mkMessage(e.message || 'Unkown Error', token);
this.stack = context + '\n' + (e.stack || '');
}
ParseError.prototype = Object.create(Error.prototype);
ParseError.prototype.constructor = ParseError;
@@ -37,15 +38,16 @@ function RenderError(e, tpl) {
if(e instanceof RenderError){
return e;
}
_.assign(this, e);
this.originalError = e;
this.name = this.constructor.name;
this.stack = e.stack;
this.input = tpl.token.input;
this.line = tpl.token.line;
this.file = tpl.token.file;
var context = mkContext(tpl.token.input, tpl.token.line);
this.message = mkMessage(e.message, tpl.token);
this.message = mkMessage(e.message || 'Unkown Error', tpl.token);
this.stack = context + '\n' + (e.stack || '');
}
RenderError.prototype = Object.create(Error.prototype);