Bird
Raised Fist0
Expressframework~5 mins

Error-handling middleware in Express - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is error-handling middleware in Express?
Error-handling middleware is a special type of middleware in Express that catches and processes errors occurring in the app. It has four parameters: (err, req, res, next).
Click to reveal answer
beginner
How do you define an error-handling middleware function in Express?
You define it with four parameters: (err, req, res, next). For example: function (err, req, res, next) { /* handle error */ }.
Click to reveal answer
intermediate
Why must error-handling middleware have four parameters?
Express uses the number of parameters to identify error-handling middleware. Having four parameters tells Express this middleware handles errors.
Click to reveal answer
intermediate
Where should error-handling middleware be placed in the middleware stack?
It should be placed after all other middleware and routes, so it can catch errors from them.
Click to reveal answer
beginner
What happens if you call next() with an error inside a route handler?
Calling next(err) passes the error to the next error-handling middleware, skipping normal middleware.
Click to reveal answer
Which of the following is the correct signature for an Express error-handling middleware?
A(err, req, res, next)
B(req, res, next)
C(req, res)
D(err, req, res)
Where should you place error-handling middleware in your Express app?
ABefore all routes
BIn the middle of route definitions
CAfter all routes and other middleware
DIt does not matter
What does calling next(err) inside a route handler do?
ASkips to the next error-handling middleware
BEnds the request without response
CSkips to the next normal middleware
DRestarts the request
If an error occurs in a route and you don't have error-handling middleware, what happens?
AThe request hangs and never responds
BExpress automatically handles the error and sends a response
CThe error crashes the server
DThe error is ignored
Which parameter in error-handling middleware holds the error object?
Anext
Bres
Creq
Derr
Explain how error-handling middleware works in Express and why it needs four parameters.
Think about how Express knows which middleware handles errors.
You got /4 concepts.
    Describe the steps to add custom error handling to an Express app.
    Consider where and how you write the error middleware function.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of error-handling middleware in Express?
      easy
      A. To serve static files like images and CSS
      B. To parse incoming JSON request bodies
      C. To catch errors and prevent the server from crashing
      D. To log every request made to the server

      Solution

      1. Step 1: Understand middleware roles

        Middleware can serve many roles, but error-handling middleware specifically catches errors.
      2. Step 2: Identify error-handling middleware purpose

        Error-handling middleware prevents the server from crashing by catching errors and responding properly.
      3. Final Answer:

        To catch errors and prevent the server from crashing -> Option C
      4. Quick Check:

        Error-handling middleware = catch errors [OK]
      Hint: Error middleware catches errors to keep server running [OK]
      Common Mistakes:
      • Confusing error middleware with static file serving
      • Thinking it parses request bodies
      • Assuming it logs requests
      2. Which of the following is the correct signature for an Express error-handling middleware function?
      easy
      A. (err, req, res, next)
      B. (req, res, next)
      C. (req, res)
      D. (err, res, next)

      Solution

      1. Step 1: Recall error middleware parameters

        Error-handling middleware always has four parameters: err, req, res, next.
      2. Step 2: Match the correct parameter order

        Only (err, req, res, next) has all four parameters in the correct order.
      3. Final Answer:

        (err, req, res, next) -> Option A
      4. Quick Check:

        Error middleware signature = (err, req, res, next) [OK]
      Hint: Error middleware always has 4 parameters starting with err [OK]
      Common Mistakes:
      • Using only three parameters
      • Omitting the err parameter
      • Wrong parameter order
      3. Given the code below, what will be the response if an error occurs in the route?
      const express = require('express');
      const app = express();
      
      app.get('/', (req, res) => {
        throw new Error('Oops!');
      });
      
      app.use((err, req, res, next) => {
        res.status(500).send('Error caught: ' + err.message);
      });
      
      app.listen(3000);
      medium
      A. The client receives 'Error caught: Oops!' with status 500
      B. The server crashes and stops running
      C. The client receives a 404 Not Found error
      D. The client receives an empty response with status 200

      Solution

      1. Step 1: Identify error thrown in route

        The route throws an error with message 'Oops!'.
      2. Step 2: Check error-handling middleware response

        The error middleware catches the error and sends a 500 status with message including 'Oops!'.
      3. Final Answer:

        The client receives 'Error caught: Oops!' with status 500 -> Option A
      4. Quick Check:

        Error thrown = caught and sent with 500 [OK]
      Hint: Thrown errors go to error middleware response [OK]
      Common Mistakes:
      • Expecting server crash on error
      • Confusing 404 with error response
      • Missing error message in response
      4. What is wrong with the following error-handling middleware?
      app.use((req, res, next, err) => {
        res.status(500).send('Error: ' + err.message);
      });
      medium
      A. It should be placed before routes
      B. The parameters are in the wrong order
      C. It is missing the next() call
      D. It should not have four parameters

      Solution

      1. Step 1: Check parameter order for error middleware

        Error middleware must have parameters in order: err, req, res, next.
      2. Step 2: Identify incorrect order in code

        The code has (req, res, next, err) which is incorrect.
      3. Final Answer:

        The parameters are in the wrong order -> Option B
      4. Quick Check:

        Error middleware params order = err, req, res, next [OK]
      Hint: Error middleware params start with err, not req [OK]
      Common Mistakes:
      • Swapping err and req parameters
      • Placing error middleware before routes
      • Forgetting to call next() when needed
      5. You want to create an error-handling middleware that logs the error message and then passes the error to the next middleware. Which of the following implementations is correct?
      A) app.use((err, req, res, next) => {
        console.log(err.message);
        next(err);
      });
      
      B) app.use((req, res, next, err) => {
        console.log(err.message);
        next();
      });
      
      C) app.use((err, req, res) => {
        console.log(err.message);
        next(err);
      });
      
      D) app.use((err, req, res, next) => {
        console.log(err.message);
        res.send('Error logged');
      });
      hard
      A. app.use((err, req, res, next) => { console.log(err.message); res.send('Error logged'); });
      B. app.use((req, res, next, err) => { console.log(err.message); next(); });
      C. app.use((err, req, res) => { console.log(err.message); next(err); });
      D. app.use((err, req, res, next) => { console.log(err.message); next(err); });

      Solution

      1. Step 1: Recall requirements for error-handling middleware that chains

        It must have four parameters starting with err, log err.message, and call next(err) to pass the error to the next handler.
      2. Step 2: Match against provided implementations

        Implementations with incorrect parameter order or count fail to receive or handle err properly; those that respond instead of calling next(err) break the chain.
      3. Final Answer:

        app.use((err, req, res, next) => {
          console.log(err.message);
          next(err);
        });
        -> Option D
      4. Quick Check:

        4 params + next(err) = correct chaining [OK]
      Hint: Error middleware must have 4 params and call next(err) to continue [OK]
      Common Mistakes:
      • Wrong parameter order
      • Forgetting next parameter
      • Not calling next(err) to pass error along
      • Sending response too early
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard