From 20f03c356c099ef5fb6494eb5b734221383ca0ce Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Tue, 17 Apr 2018 10:52:53 +0200 Subject: [PATCH] better script error handling. Also pass the error in msg so that it can handled later --- nodes/core/core/80-function.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nodes/core/core/80-function.js b/nodes/core/core/80-function.js index 69d6d0ca2..7f0c2627b 100644 --- a/nodes/core/core/80-function.js +++ b/nodes/core/core/80-function.js @@ -204,7 +204,12 @@ module.exports = function(RED) { } var context = vm.createContext(sandbox); try { - this.script = vm.createScript(functionText); + this.script = vm.createScript(functionText, { + filename: this.name + '_' + this.id, // filename for stack traces + lineOffset: -11, // line number offset to be used for stack traces + columnOffset: 0, // column number offset to be used for stack traces + displayErrors: true + }); this.on("input", function(msg) { try { var start = process.hrtime(); @@ -219,7 +224,7 @@ module.exports = function(RED) { this.status({fill:"yellow",shape:"dot",text:""+converted}); } } catch(err) { - + msg.error = err; var line = 0; var errorMessage; var stack = err.stack.split(/\r?\n/);