Skip to content

Commit 33d3662

Browse files
committed
Fix #202
1 parent 5a070f4 commit 33d3662

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

src/lib/context.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,23 @@ Context.prototype.done = function(err, message) {
172172

173173
if(err instanceof Error){
174174
//http://docs.aws.amazon.com/en_en/lambda/latest/dg/nodejs-prog-mode-exceptions.html
175-
var _stack = err.stack.split("\n");
176-
_stack.shift();
177-
for (var i =0; i < _stack.length; i++){_stack[i] = _stack[i].trim().substr(3);}
178-
err = {
179-
"errorMessage": err.message,
180-
"errorType": err.name,
181-
"stackTrace": _stack
182-
};
175+
var _stack;
176+
if (err.stack){
177+
// Trim stack
178+
_stack = err.stack.split("\n");
179+
_stack.shift();
180+
for (var i =0; i < _stack.length; i++){_stack[i] = _stack[i].trim().substr(3);}
181+
err = {
182+
"errorMessage": err.message,
183+
"errorType": err.name,
184+
"stackTrace": _stack
185+
};
186+
} else {
187+
err = {
188+
"errorMessage": err.message,
189+
"errorType": err.name
190+
};
191+
}
183192
}
184193

185194
if (err !== null && typeof err !== 'undefined') {

test/test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ describe("- Testing lambdalocal.js", function () {
302302
callback: function (err, _done) {
303303
assert.equal(err.errorType, "Error");
304304
assert.equal(err.errorMessage, "Failed for an unknown reason !");
305+
assert.ok(err.stackTrace.some(function(x){return x.includes("test-func-cb-error.js:5");}));
305306
cb();
306307
},
307308
verboseLevel: 1

0 commit comments

Comments
 (0)