What is the error object?
The error object is a built-in object that provides a standard set of useful information when an error occurs, such as a stack trace and the error message. For example:
Code:
var error = new Error("The error message");
console.log(error);
console.log(error.stack);
Result:
{ stack: [Getter/Setter],
arguments: undefined,
type: undefined,
message: 'The error message' }
Error: The error message
at Object.<anonymous> (/home/nico/example.js:1:75)
at Module._compile (module.js:407:26)
at Object..js (module.js:413:10)
at Module.load (module.js:339:31)
at Function._load (module.js:298:12)
at Array.0 (module.js:426:10)
at EventEmitter._tickCallback (node.js:126:26)
error.stack
shows you where an error came from, as well as a list of the function calls that preceded it - for your convenience, error.stack
always prints error.message
as the first line of its output, making error.stack
a convenient single property to log during debugging.
If you want to add more information to the Error object, you can always add properties, just as with any other JavaScript object:
var error = new Error("The error message");
error.http_code = 404;
console.log(error);
For more details how to use the Error object, check out the article on error conventions