javascript node.js getting line number in try catch?
33,365
Those [Getter/Setter]
members indicate further information available on the error object. You can easily dump the contents of those getters/setters using a small helper function (very trivial implementation, further refinement is up to you)
function dumpError(err) {
if (typeof err === 'object') {
if (err.message) {
console.log('\nMessage: ' + err.message)
}
if (err.stack) {
console.log('\nStacktrace:')
console.log('====================')
console.log(err.stack);
}
} else {
console.log('dumpError :: argument is not an object');
}
}
try {
not_defined.function_call();
} catch(err) {
dumpError(err);
}
You could also extend the Object.prototype
for improved accessability (so you could use err.dumpError()), although extending Object.prototype
bears the risk of overwriting existing functionality.
Author by
Mark
Updated on October 10, 2020Comments
-
Mark over 3 years
I'm using try catch on a node.js script:
try {} catch (err) {console.log(err)}
I get an output like this:
{ stack: [Getter/Setter], arguments: [ 'undefined' ], type: 'called_non_callable', message: [Getter/Setter] }
Is there an easy way to make this more informative? Include line numbers and function names and such?
-
Kaan Soral almost 6 yearsReal life changer, ty
-
sparkle over 3 yearsHow to get a deeper level err.stack?