Bird
Raised Fist0
Node.jsframework~10 mins

Why debugging skills matter in Node.js - Test Your Understanding

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print an error message when a promise is rejected.

Node.js
fetch('https://api.example.com/data')
  .then(response => response.json())
  .catch(error => console.[1](error))
Drag options to blanks, or click blank then click option'
Alog
Binfo
Cwarn
Derror
Attempts:
3 left
💡 Hint
Common Mistakes
Using console.log instead of console.error
Using console.warn which is less clear for errors
2fill in blank
medium

Complete the code to catch and log errors in an async function.

Node.js
async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    return data;
  } catch ([1]) {
    console.error(error);
  }
}
Drag options to blanks, or click blank then click option'
Aerr
Be
Cerror
Dexception
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different variable name than the one logged
Leaving the catch parameter empty
3fill in blank
hard

Fix the error in the code to properly handle rejected promises.

Node.js
fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .[1](error => console.error(error))
Drag options to blanks, or click blank then click option'
Aerror
Bcatch
Cfail
Dreject
Attempts:
3 left
💡 Hint
Common Mistakes
Using .error or .fail which are not valid promise methods
Using .reject which is not a method
4fill in blank
hard

Fill both blanks to create a simple error handler function.

Node.js
function handleError([1]) {
  console.[2](error.message);
}
Drag options to blanks, or click blank then click option'
Aerror
Blog
Dwarn
Attempts:
3 left
💡 Hint
Common Mistakes
Using console.log instead of console.error
Mismatching parameter and logged variable names
5fill in blank
hard

Fill all three blanks to log error details conditionally.

Node.js
function logErrorDetails([1]) {
  if (error.[2]) {
    console.[3](`Error: ${error.message}`);
  }
}
Drag options to blanks, or click blank then click option'
Aerror
Bstack
Dlog
Attempts:
3 left
💡 Hint
Common Mistakes
Using console.log instead of console.error
Checking a wrong property instead of 'stack'

Practice

(1/5)
1. Why is debugging important when writing Node.js programs?
easy
A. It makes the program run faster automatically.
B. It helps find and fix errors to make the program work correctly.
C. It adds new features to the program without coding.
D. It removes the need to write tests for the program.

Solution

  1. Step 1: Understand the purpose of debugging

    Debugging is used to find and fix errors in code so the program runs as expected.
  2. Step 2: Evaluate the options

    Only It helps find and fix errors to make the program work correctly. correctly states debugging helps fix errors. Other options describe unrelated benefits.
  3. Final Answer:

    It helps find and fix errors to make the program work correctly. -> Option B
  4. Quick Check:

    Debugging = Fix errors [OK]
Hint: Debugging = finding and fixing errors quickly [OK]
Common Mistakes:
  • Thinking debugging improves speed automatically
  • Confusing debugging with adding features
  • Believing debugging replaces testing
2. Which of the following is the correct way to print a variable's value for debugging in Node.js?
easy
A. console.log(variable);
B. log.console(variable);
C. print(variable);
D. console.print(variable);

Solution

  1. Step 1: Recall Node.js debugging syntax

    In Node.js, console.log() is the standard method to print values to the console.
  2. Step 2: Check each option

    Only console.log(variable); uses the correct syntax. Others are invalid or do not exist in Node.js.
  3. Final Answer:

    console.log(variable); -> Option A
  4. Quick Check:

    Print value = console.log() [OK]
Hint: Use console.log() to print variables in Node.js [OK]
Common Mistakes:
  • Using console.print() which does not exist
  • Using print() without console
  • Swapping console and log order
3. What will be the output of this Node.js code snippet?
const x = 5;
console.log(x + y);
const y = 3;
medium
A. 8
B. 5undefined
C. ReferenceError: Cannot access 'y' before initialization
D. NaN

Solution

  1. Step 1: Understand variable hoisting with const

    Variables declared with const are not hoisted like var. Accessing before declaration causes ReferenceError.
  2. Step 2: Analyze the code execution order

    console.log(x + y); runs before y is declared, causing ReferenceError.
  3. Final Answer:

    ReferenceError: Cannot access 'y' before initialization -> Option C
  4. Quick Check:

    Access const before declaration = ReferenceError [OK]
Hint: const variables cannot be used before declaration [OK]
Common Mistakes:
  • Assuming y is undefined and prints NaN
  • Thinking variables are hoisted like var
  • Expecting output 8 without error
4. You run a Node.js program and get an unexpected error. Which debugging step helps find the exact line causing the error?
medium
A. Add multiple console.log() statements before and after suspect lines.
B. Delete all code and rewrite from scratch.
C. Ignore the error and run the program again.
D. Change variable names randomly.

Solution

  1. Step 1: Understand debugging with console logs

    Adding console.log() before and after lines helps track program flow and locate errors.
  2. Step 2: Evaluate other options

    Deleting code or ignoring errors does not help find the error. Random renaming causes more issues.
  3. Final Answer:

    Add multiple console.log() statements before and after suspect lines. -> Option A
  4. Quick Check:

    Use console.log() to trace errors [OK]
Hint: Trace errors with console.log() around problem code [OK]
Common Mistakes:
  • Ignoring errors hoping they disappear
  • Deleting code without understanding
  • Changing variable names without reason
5. You have a Node.js function that sometimes returns undefined unexpectedly. What is the best debugging approach to find why?
hard
A. Comment out the entire function and run the program.
B. Remove all return statements to avoid undefined.
C. Restart the computer to clear errors.
D. Use console.log() to print input and output values at each step inside the function.

Solution

  1. Step 1: Trace function inputs and outputs

    Printing inputs and outputs inside the function helps identify where undefined is introduced.
  2. Step 2: Avoid ineffective fixes

    Removing returns or commenting out the function hides the problem. Restarting does not fix code logic errors.
  3. Final Answer:

    Use console.log() to print input and output values at each step inside the function. -> Option D
  4. Quick Check:

    Trace values inside function with console.log() [OK]
Hint: Log inputs and outputs inside functions to find undefined [OK]
Common Mistakes:
  • Removing return statements causing more bugs
  • Restarting computer instead of debugging code
  • Commenting out code without fixing logic