Error Handling in Node.js
Learn how errors work in JavaScript: runtime errors, throwing errors, try-catch-finally, custom errors, and safe error handling patterns.
Introduction to Errors
Errors occur when JavaScript cannot execute code as expected. Errors immediately stop normal execution unless they are handled.
1. What is an Error?
Execution failure.
Types of Errors
JavaScript provides multiple built-in error types to describe different failure scenarios.
1. ReferenceError
Accessing undeclared variables.
2. TypeError
Invalid operations on values.
3. SyntaxError
Invalid JavaScript syntax.
4. RangeError
Invalid numeric ranges.
try / catch
try-catch allows handling runtime errors without crashing the program.
1. Basic try-catch
Prevent crashes.
2. Error Object
Access error details.
finally Block
finally executes whether an error occurs or not.
1. finally Execution
Always runs.
Throwing Errors
throw allows you to stop execution and signal failure explicitly.
1. throw new Error
Create custom failure.
Custom Error Classes
Custom errors improve clarity and allow fine-grained error handling.
1. Extending Error
Define your own error.
Error Propagation
Errors bubble up the call stack until caught.
1. Error Bubbling
Unhandled errors travel upward.
Stack Trace & Call Stack
A stack trace shows the sequence of function calls that led to an error. It is one of the most important debugging tools.
1. What is a Stack Trace?
Execution history.
2. error.stack Property
Access stack trace programmatically.
3. How to Read a Stack Trace
Bottom-up execution.
4. Using Stack Trace for Debugging
Practical debugging.