TGViewer
Web Development Web Development @webdevcoursefree · 79.7K subscribers
Post #3318 5.74K
✅ Backend Basics Interview Questions – Part 5 (Error Handling) 🚀💻

📍 1. What is Error Handling?
A: Error handling is the process of catching, logging, and responding to runtime errors or exceptions during request processing to prevent server crashes and provide clear feedback to clients—like validation fails or DB timeouts. It keeps your app robust and user-friendly.

📍 2. Built-in Error Handling
⦁ Express auto-catches sync errors in routes, but async needs extra care.
⦁ Example:
app.get('/error', (req, res) => {
throw new Error('Something went wrong!');
});

This triggers the default handler or your custom one—logs to console by default.

📍 3. Custom Error-handling Middleware
⦁ Define with 4 params (err, req, res, next) and place it last in your middleware chain.
⦁ Example:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({
success: false,
message: err.message || 'Internal Server Error'
});
});

In dev mode, include stack traces; hide them in prod for security.

📍 4. Try-Catch in Async Functions
⦁ Wrap async code in try-catch and pass errors to next() for middleware handling.
⦁ Example:
app.get('/async', async (req, res, next) => {
try {
const data = await getData(); // Assume this might fail
res.json(data);
} catch (err) {
next(err); // Passes to error middleware
}
});

Pro tip: Use async-error wrappers like express-async-errors for cleaner code without manual next().

📍 5. Sending Proper Status Codes
⦁ 400 → Bad Request (invalid input)
⦁ 401 → Unauthorized (auth failed)
⦁ 403 → Forbidden (no access)
⦁ 404 → Not Found (resource missing)
⦁ 500 → Internal Server Error (server-side issue)
Always pair with descriptive messages, but keep sensitive details out.

📍 6. Error Logging
⦁ Use console.error() for quick logs or libraries like Winston/Morgan for structured logging (e.g., to files or services like Sentry).
⦁ Track errors with timestamps, user IDs, and request paths for easier debugging in production.

📍 7. Best Practices
⦁ Keep messages user-friendly (e.g., "Invalid email" vs. raw stack).
⦁ Never expose stack traces in prod—use env checks.
⦁ Centralize with global middleware; validate inputs early to avoid errors.
⦁ Test with tools like Postman to simulate failures.

💬 Tap ❤️ for more!
  • ❤ 5
More from @webdevcoursefree
  1. Oct 16, 2026𝗗𝗮𝘁𝗮 𝘀𝗰𝗶𝗲𝗻𝗰𝗲 𝗖𝗲𝗿𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗪𝗶𝘁𝗵 𝗔𝗜😍 Future Ready Data Scien…
  2. Oct 16, 2026🌐 Web Development Roadmap — Part 18 HTML Lists Lists are used whenever information needs…
  3. Oct 14, 2026🌐 Web Development Roadmap — Part 17 HTML Images — <img> Tag Images make webpages more vis…
  4. Oct 13, 2026𝗧𝗢𝗣 𝗙𝗥𝗘𝗘 𝗖𝗢𝗨𝗥𝗦𝗘𝗦 𝗧𝗢 𝗕𝗢𝗢𝗦𝗧 𝗬𝗢𝗨𝗥 𝗦𝗞𝗜𝗟𝗟𝗦 𝗜𝗡 𝟮𝟬𝟮𝟲! Explor…
  5. Oct 12, 2026For example: Go to Profile → <a> Submit Form → <button> Open Article → <a> Delete Account…
  6. Oct 12, 2026🌐 Web Development Roadmap — Part 16 HTML Links — Tag Links are one of the most important…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →