Skip to content

Commit 8769d47

Browse files
authored
Handle undefined errors in getAllInfo (#2208)
1 parent a52608c commit 8769d47

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

lib/winston/exception-handler.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ module.exports = class ExceptionHandler {
7373
* @returns {mixed} - TODO: add return description.
7474
*/
7575
getAllInfo(err) {
76-
let { message } = err;
77-
if (!message && typeof err === 'string') {
78-
message = err;
76+
let message = null;
77+
if (err) {
78+
message = typeof err === 'string' ? err : err.message;
7979
}
8080

8181
return {
@@ -84,9 +84,9 @@ module.exports = class ExceptionHandler {
8484
level: 'error',
8585
message: [
8686
`uncaughtException: ${(message || '(no error message)')}`,
87-
err.stack || ' No stack trace'
87+
err && err.stack || ' No stack trace'
8888
].join('\n'),
89-
stack: err.stack,
89+
stack: err && err.stack,
9090
exception: true,
9191
date: new Date().toString(),
9292
process: this.getProcessInfo(),

test/unit/winston/exception-handler.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ describe('ExceptionHandler', function () {
106106
helpers.throw('wtf this error');
107107
});
108108

109+
it('.getAllInfo(undefined)', function () {
110+
var handler = helpers.exceptionHandler();
111+
// eslint-disable-next-line no-undefined
112+
handler.getAllInfo(undefined);
113+
});
114+
109115
after(function () {
110116
//
111117
// Restore normal `runTest` functionality

0 commit comments

Comments
 (0)