Error Handling — Complete Guide
Error Handling — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Node.js Tutorial on Toolliyo Academy.
On this page
Error Handling
This lesson covers Error Handling. Think of this lesson as a short workshop you can run on your laptop.
What you will learn
- What error handling means — in normal words, not textbook words
- How it works step by step
- Code you can run today on your laptop
- Where teams use this in real projects
Before you start
- Software: Node.js LTS from nodejs.org, VS Code, and a terminal
- Knowledge: Earlier lessons in this Node.js course
- Previous lesson: Request Lifecycle — Complete Guide
Explain it simply
Errors in async routes must reach an error handler — use try/catch and next(err), or an async wrapper.
Why developers use this
- Core skill for web backends
- Huge community and docs
- Leads to REST and auth
How it works (step by step)
- A browser or app sends an HTTP request to your server.
- Express middleware runs in order (log, parse JSON, check auth).
- The route handler for Error Handling runs your logic.
- You send JSON or HTML back with the right status code (200, 201, 404, 500).
Code example — type this yourself
app.get('/api/user/:id', async (req, res, next) => {
try {
const user = await findUser(req.params.id);
if (!user) return res.status(404).json({ error: 'Not found' });
res.json(user);
} catch (err) {
next(err);
}
});
Never send two responses for one request. return after res.json to stop the function.
What each part does
app.get('/api/user/:id', async (req, res, next) => {— Defines what happens when a client hits this URL and HTTP method.try {— Catches errors so one failure does not crash the whole server.const user = await findUser(req.params.id);— Async work — Node can serve other users while this waits.if (!user) return res.status(404).json({ error: 'Not found' });— Line 4: runs as written.res.json(user);— Sends the response back to the client.} catch (err) {— Catches errors so one failure does not crash the whole server.next(err);— Line 7: runs as written.}— Line 8: runs as written.
Real life: where Error Handling shows up
A college admin panel uses Error Handling with Express: students hit /courses, teachers hit /grades, and shared middleware checks login once for every page.
Try it yourself — hands-on
- Create a new file (e.g.
error-handling-demo.js) in an empty folder - Type the example code for Error Handling yourself — typing helps memory
- Run
nodeon that file and read the output - Change one line (a value, a message, a route path) and run again to see what breaks or improves
Common mistakes (avoid these)
- Skipping the terminal — Error Handling only feels easy after you run code yourself.
Interview note
Be ready to explain Error Handling with a real trade-off: what problem it solves and what you would not use it for.
Summary
- You can explain Error Handling in your own words
- You ran working code — not just read about it
- You know one mistake to avoid and one real place teams use this
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!