I\'m using try catch on a node.js script:
try {} catch (err) {console.log(err)}
I get an output like this:
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.