Bird
Raised Fist0
Javascriptprogramming~5 mins

Throwing errors in Javascript

Choose your learning style10 modes available
Introduction

Throwing errors helps your program stop and tell you when something goes wrong. It makes problems clear so you can fix them.

When a user enters wrong information in a form.
When a file your program needs is missing.
When a calculation gets an unexpected value.
When a function gets bad input it can't handle.
Syntax
Javascript
throw new Error('Your error message here');

throw stops the program and sends an error.

Error is a built-in way to create an error message.

Examples
This stops the program and shows the message 'Something went wrong!'.
Javascript
throw new Error('Something went wrong!');
You can throw a string directly, but using Error is better for details.
Javascript
throw 'This is a simple error string';
You can throw different error types like TypeError for specific problems.
Javascript
throw new TypeError('Wrong type!');
Sample Program

This program checks if a person is old enough. If not, it throws an error. The error is caught and shown nicely.

Javascript
function checkAge(age) {
  if (age < 18) {
    throw new Error('You must be at least 18 years old.');
  }
  return 'Access granted';
}

try {
  console.log(checkAge(16));
} catch (error) {
  console.log('Error caught:', error.message);
}

console.log(checkAge(20));
OutputSuccess
Important Notes

Always use try...catch to handle errors so your program doesn't crash unexpectedly.

Use clear messages in errors to help understand what went wrong.

Summary

Throwing errors stops the program when something is wrong.

Use throw new Error('message') to create errors.

Catch errors with try...catch to handle them safely.

Practice

(1/5)
1. What does the throw statement do in JavaScript?
easy
A. Stops the program and creates an error.
B. Catches an error and handles it.
C. Declares a new variable.
D. Runs a function asynchronously.

Solution

  1. Step 1: Understand the purpose of throw

    The throw statement is used to create an error and stop normal program execution.
  2. Step 2: Differentiate from error handling

    Unlike try...catch which handles errors, throw actually creates the error.
  3. Final Answer:

    Stops the program and creates an error. -> Option A
  4. Quick Check:

    throw creates error = A [OK]
Hint: Remember: throw creates errors, try...catch handles them [OK]
Common Mistakes:
  • Confusing throw with try...catch
  • Thinking throw handles errors
  • Believing throw declares variables
2. Which of the following is the correct syntax to throw a new error with the message "Invalid input"?
easy
A. throw 'Invalid input';
B. throw error('Invalid input');
C. throw new Error('Invalid input');
D. throw new error('Invalid input');

Solution

  1. Step 1: Recall the correct Error constructor usage

    In JavaScript, to create an error object, use new Error('message').
  2. Step 2: Check syntax correctness

    Only throw new Error('Invalid input'); uses throw new Error('Invalid input'); which is correct syntax.
  3. Final Answer:

    throw new Error('Invalid input'); -> Option C
  4. Quick Check:

    Correct syntax uses new Error = C [OK]
Hint: Always use 'throw new Error' with capital E [OK]
Common Mistakes:
  • Missing 'new' keyword
  • Using lowercase 'error' instead of 'Error'
  • Omitting parentheses
3. What will be the output of the following code?
try {
  throw new Error('Oops!');
} catch (e) {
  console.log(e.message);
}
medium
A. Oops!
B. Error: Oops!
C. undefined
D. No output

Solution

  1. Step 1: Understand the throw and catch behavior

    The code throws an error with message 'Oops!'. The catch block catches it and logs e.message.
  2. Step 2: Determine what e.message contains

    e.message is the string 'Oops!'. So console.log(e.message) prints 'Oops!'.
  3. Final Answer:

    Oops! -> Option A
  4. Quick Check:

    Logging error message prints 'Oops!' = A [OK]
Hint: Catch error and log e.message to see the message [OK]
Common Mistakes:
  • Printing whole error object instead of message
  • Expecting 'Error: Oops!' instead of just message
  • Thinking no output occurs
4. Identify the error in this code snippet:
try {
  throw new Error('Fail');
} catch e {
  console.log(e.message);
}
medium
A. Incorrect use of throw keyword.
B. No error; code runs fine.
C. Error message string is invalid.
D. Missing parentheses around catch parameter.

Solution

  1. Step 1: Check catch syntax

    In JavaScript, the catch block must have parentheses around the error parameter, like catch (e).
  2. Step 2: Identify the syntax error

    The code uses catch e without parentheses, which causes a syntax error.
  3. Final Answer:

    Missing parentheses around catch parameter. -> Option D
  4. Quick Check:

    Catch parameter needs parentheses = B [OK]
Hint: Always write catch with parentheses: catch (e) [OK]
Common Mistakes:
  • Omitting parentheses in catch
  • Misplacing throw statement
  • Confusing error message with syntax error
5. You want to throw an error only if a user input is empty or null. Which code correctly throws an error in this case?
hard
A. if (input) throw new Error('Input required');
B. if (!input) throw new Error('Input required');
C. if (input == null) throw new error('Input required');
D. if (input === '') throw Error('Input required');

Solution

  1. Step 1: Understand falsy values for empty or null input

    In JavaScript, !input is true if input is null, undefined, empty string, 0, or false.
  2. Step 2: Check which option correctly throws error for empty or null

    if (!input) throw new Error('Input required'); uses if (!input) throw new Error('Input required'); which covers empty string and null correctly with proper syntax.
  3. Final Answer:

    if (!input) throw new Error('Input required'); -> Option B
  4. Quick Check:

    Use !input to check empty/null and throw Error = D [OK]
Hint: Use if (!input) to catch empty or null inputs [OK]
Common Mistakes:
  • Using lowercase 'error' instead of 'Error'
  • Throwing error only for empty string but missing null
  • Throwing error when input is valid
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