Bird
Raised Fist0
Javascriptprogramming~5 mins

Catching runtime errors in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Catching runtime errors
O(n)
Understanding Time Complexity

When we catch runtime errors in JavaScript, we want to know how the time to handle errors grows as the program runs.

We ask: how does the cost of catching errors change when the code runs more or with bigger inputs?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


try {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === null) {
      throw new Error('Null value found');
    }
    process(arr[i]);
  }
} catch (error) {
  console.error(error.message);
}
    

This code loops through an array, processes each item, and throws an error if a null is found, which is then caught.

Identify Repeating Operations
  • Primary operation: The for-loop that goes through each item in the array.
  • How many times: Once for each element until a null is found or the end is reached.
How Execution Grows With Input

The time to run grows as the array gets bigger because the loop checks each item one by one.

Input Size (n)Approx. Operations
10About 10 checks and processes
100About 100 checks and processes
1000About 1000 checks and processes

Pattern observation: The work grows steadily as the input size grows; more items mean more checks.

Final Time Complexity

Time Complexity: O(n)

This means the time to catch errors grows in direct proportion to the number of items checked.

Common Mistake

[X] Wrong: "Catching an error inside the loop makes the whole process take longer than checking all items normally."

[OK] Correct: The error is only caught when thrown, and the loop stops early; otherwise, the loop runs normally, so catching errors doesn't add extra time unless an error happens.

Interview Connect

Understanding how error handling affects time helps you write reliable code and explain your thinking clearly in interviews.

Self-Check

"What if we moved the try-catch block inside the loop to catch errors for each item separately? How would the time complexity change?"

Practice

(1/5)
1.

What is the main purpose of using try and catch in JavaScript?

easy
A. To create new variables
B. To speed up the program execution
C. To handle errors and prevent the program from crashing
D. To repeat code multiple times

Solution

  1. Step 1: Understand the role of try block

    The try block runs code that might cause an error.
  2. Step 2: Understand the role of catch block

    The catch block handles any error from the try block to keep the program running smoothly.
  3. Final Answer:

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

    try-catch = error handling [OK]
Hint: Try-catch blocks catch errors to keep programs running [OK]
Common Mistakes:
  • Thinking try-catch speeds up code
  • Using try-catch to create variables
  • Confusing try-catch with loops
2.

Which of the following is the correct syntax to catch errors in JavaScript?

try {
// code
} catch (error) {
// handle error
}
easy
A. try { } catch (error) { }
B. try { } catch error() { }
C. try (error) { } catch { }
D. try { } catch error { }

Solution

  1. Step 1: Check the try block syntax

    The try block must be followed by catch with parentheses around the error variable.
  2. Step 2: Verify the catch block syntax

    The correct syntax is catch (error) { } with parentheses around the error parameter.
  3. Final Answer:

    try { } catch (error) { } -> Option A
  4. Quick Check:

    catch needs parentheses [OK]
Hint: Catch block always uses parentheses for error [OK]
Common Mistakes:
  • Omitting parentheses in catch
  • Using parentheses after try
  • Adding parentheses after catch keyword
3.

What will be the output of the following code?

try {
let result = 10 / 0;
console.log(result);
} catch (e) {
console.log('Error caught');
}
medium
A. Infinity
B. Error caught
C. 0
D. undefined

Solution

  1. Step 1: Understand division by zero in JavaScript

    Dividing 10 by 0 does not cause an error; it results in Infinity.
  2. Step 2: Check if catch block runs

    Since no error occurs, the catch block is skipped and Infinity is logged.
  3. Final Answer:

    Infinity -> Option A
  4. Quick Check:

    10/0 = Infinity, no error [OK]
Hint: Division by zero returns Infinity, no error thrown [OK]
Common Mistakes:
  • Assuming division by zero throws error
  • Expecting catch block to run
  • Confusing 0 with Infinity
4.

Find the error in this code and choose the correct fix:

try {
console.log(x);
} catch e {
console.log('Error:', e.message);
}
medium
A. Declare x before try block
B. Change catch e to catch (e)
C. Add finally block after catch
D. Remove the catch block

Solution

  1. Step 1: Identify syntax error in catch block

    The catch block must have parentheses around the error variable, so catch e is invalid syntax.
  2. Step 2: Correct the catch syntax

    Changing it to catch (e) fixes the syntax and allows error handling.
  3. Final Answer:

    Change catch e to catch (e) -> Option B
  4. Quick Check:

    Catch needs parentheses around error [OK]
Hint: Catch error variable must be in parentheses [OK]
Common Mistakes:
  • Omitting parentheses in catch
  • Adding finally when not needed
  • Ignoring undeclared variable error
5.

You want to safely parse JSON data that might be invalid. Which code snippet correctly catches parsing errors?

const jsonString = '{"name": "Alice", age: 25}';
try {
const data = JSON.parse(jsonString);
console.log(data.name);
} catch (error) {
console.log('Invalid JSON:', error.message);
}
hard
A. You must use if-else instead of try-catch for JSON parsing
B. This code will crash because JSON.parse never throws errors
C. The catch block should be after console.log(data.name)
D. This code correctly catches JSON parsing errors and logs a message

Solution

  1. Step 1: Understand JSON.parse behavior

    JSON.parse throws an error if the JSON string is invalid, like missing quotes around keys.
  2. Step 2: Check try-catch usage

    The try block runs JSON.parse, and the catch block handles any parsing error to avoid crashing.
  3. Final Answer:

    This code correctly catches JSON parsing errors and logs a message -> Option D
  4. Quick Check:

    try-catch handles JSON.parse errors [OK]
Hint: Use try-catch to handle JSON.parse errors safely [OK]
Common Mistakes:
  • Assuming JSON.parse never throws errors
  • Placing catch block incorrectly
  • Using if-else instead of try-catch for errors
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