# Node Errors
The Node environment has all the standard JavaScript errors such as EvalError, SyntaxError, RangeError, ReferenceError, TypeError, and URIError as well as the JavaScript Error class for creating new error instances.
- Within our own code, we can generate errors and
throwthem - with synchronous code in Node, we can use error handling (opens new window) techniques such as
try...catchstatements.
# Error-first callback functions
Used by many asynchronous Node APIs
- Callback functions which have an error as the first expected argument and the data as the second argument.
- If it results in an error, the error will be passed in as the first argument to the callback function.
- If no error was thrown, the first argument will be
undefined.
const errorFirstCallback = (err, data) => {
if (err) {
console.log(`There WAS an error: ${err}`);
} else {
// err was falsy
console.log(`There was NO error. Event data: ${data}`);
}
}
or:
const errorFirstCallback = (err, data) => {
if (err) {
console.log(`There WAS an error: ${err}`);
return;
}
console.log(`There was NO error. Event data: ${data}`);
}
}