Bird
Raised Fist0
Pythonprogramming~5 mins

Custom error messages in Python - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is a custom error message in Python?
A custom error message is a specific message you write to explain why an error happened, making it easier to understand and fix.
Click to reveal answer
beginner
How do you raise an error with a custom message in Python?
Use the raise keyword followed by an error type and a message in quotes, like raise ValueError('This is a custom message').
Click to reveal answer
beginner
Why are custom error messages helpful?
They tell exactly what went wrong in your program, helping you or others fix problems faster.
Click to reveal answer
intermediate
What is the syntax to catch an error and print its custom message?
Use a try block for code that might fail, and an except block to catch the error and print the message, like:
try:
    ...
except ValueError as e:
    print(e)
Click to reveal answer
intermediate
Can you create your own error type with a custom message?
Yes! You can make a new error class by inheriting from <code>Exception</code> and add a message to it.
Click to reveal answer
How do you add a custom message when raising an error in Python?
Aprint('Custom message')
Bthrow ValueError('Custom message')
Cerror('Custom message')
Draise ValueError('Custom message')
What keyword is used to handle errors and access their messages?
Acatch
Bexcept
Chandle
Derror
Which of these is a correct way to print a custom error message from an exception?
Aexcept Exception as e: print(e)
Bexcept Exception: print('e')
Ctry: print(e)
Draise Exception print(e)
What is the base class for creating custom error types in Python?
AException
BBaseError
CError
DCustomError
Why should you use custom error messages?
ATo confuse users
BTo make errors harder to find
CTo explain what went wrong clearly
DTo avoid writing code
Explain how to raise an error with a custom message and how to catch it to display the message.
Think about how you tell Python to stop with a message and how you catch that message to show it.
You got /5 concepts.
    Describe how to create your own error type with a custom message in Python.
    Imagine making your own kind of error that behaves like built-in errors but with your own message.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using raise ValueError('Custom message') in Python?
      easy
      A. To print a warning message without stopping the program.
      B. To stop the program and show a specific error message when a condition is not met.
      C. To automatically fix errors in the code.
      D. To ignore errors and continue running the program.

      Solution

      1. Step 1: Understand the raise statement

        The raise keyword is used to stop the program and throw an error.
      2. Step 2: Purpose of custom messages

        Adding a message like 'Custom message' helps explain why the error happened.
      3. Final Answer:

        To stop the program and show a specific error message when a condition is not met. -> Option B
      4. Quick Check:

        raise with message = stop and explain error [OK]
      Hint: Raise errors to stop and explain problems clearly [OK]
      Common Mistakes:
      • Thinking raise only prints messages without stopping
      • Confusing raise with print or logging
      • Believing raise fixes errors automatically
      2. Which of the following is the correct syntax to raise a custom error with message "Invalid input"?
      easy
      A. raise 'Invalid input' ValueError
      B. throw ValueError('Invalid input')
      C. error ValueError('Invalid input')
      D. raise ValueError('Invalid input')

      Solution

      1. Step 1: Identify the correct keyword

        In Python, raise is used to throw errors, not throw or error.
      2. Step 2: Correct order of error and message

        The syntax is raise ErrorType('message'), so the error type comes first, then the message in parentheses.
      3. Final Answer:

        raise ValueError('Invalid input') -> Option D
      4. Quick Check:

        raise + ErrorType('message') = correct syntax [OK]
      Hint: Use raise ErrorType('message') to create custom errors [OK]
      Common Mistakes:
      • Using throw instead of raise
      • Placing message before error type
      • Missing parentheses around the message
      3. What will be the output of this code?
      def check_age(age):
          if age < 18:
              raise ValueError('Age must be 18 or older')
          return 'Access granted'
      
      print(check_age(16))
      medium
      A. Access granted
      B. None
      C. ValueError: Age must be 18 or older
      D. SyntaxError

      Solution

      1. Step 1: Check the condition in the function

        The function raises a ValueError if age is less than 18. Here, age is 16, so the error triggers.
      2. Step 2: Understand what happens on raise

        When the error is raised, the program stops and shows the error message instead of returning 'Access granted'.
      3. Final Answer:

        ValueError: Age must be 18 or older -> Option C
      4. Quick Check:

        raise triggers error output = ValueError message [OK]
      Hint: If condition fails, raise stops and shows error message [OK]
      Common Mistakes:
      • Expecting function to return 'Access granted' anyway
      • Confusing error message with print output
      • Thinking raise prints message but continues
      4. Find the error in this code snippet:
      def check_number(num):
          if num < 0:
              raise 'Negative number error'
          return 'Number is positive'
      
      print(check_number(-5))
      medium
      A. You cannot raise a string directly; it must be an Exception type.
      B. The raise statement is missing parentheses.
      C. The function should return None instead of a string.
      D. The if condition should be num > 0.

      Solution

      1. Step 1: Check the raise statement

        The code tries to raise a string directly, which is not allowed in Python. Only Exception types can be raised.
      2. Step 2: Correct way to raise errors

        Use raise ValueError('message') or another Exception class, not a plain string.
      3. Final Answer:

        You cannot raise a string directly; it must be an Exception type. -> Option A
      4. Quick Check:

        raise must use Exception type, not string [OK]
      Hint: Always raise Exception objects, not strings [OK]
      Common Mistakes:
      • Raising strings instead of Exception classes
      • Forgetting to include parentheses with message
      • Changing condition incorrectly
      5. You want to create a function validate_score(score) that raises a ValueError with the message "Score must be between 0 and 100" if the score is outside this range. Which code correctly implements this?
      hard
      A. def validate_score(score): if score < 0 or score > 100: raise ValueError('Score must be between 0 and 100') return 'Valid score'
      B. def validate_score(score): if 0 <= score <= 100: raise ValueError('Score must be between 0 and 100') return 'Valid score'
      C. def validate_score(score): if score < 0 and score > 100: raise ValueError('Score must be between 0 and 100') return 'Valid score'
      D. def validate_score(score): if score == 0 or score == 100: raise ValueError('Score must be between 0 and 100') return 'Valid score'

      Solution

      1. Step 1: Understand the valid range condition

        The score is valid if it is between 0 and 100 inclusive. So invalid means less than 0 or greater than 100.
      2. Step 2: Check the if condition logic

        def validate_score(score): if score < 0 or score > 100: raise ValueError('Score must be between 0 and 100') return 'Valid score' correctly uses if score < 0 or score > 100 to detect invalid scores and raise the error.
      3. Final Answer:

        def validate_score(score): if score < 0 or score > 100: raise ValueError('Score must be between 0 and 100') return 'Valid score' -> Option A
      4. Quick Check:

        Use or for invalid range, raise error if outside [OK]
      Hint: Raise error if score is less than 0 or greater than 100 [OK]
      Common Mistakes:
      • Using and instead of or in condition
      • Raising error for valid scores instead of invalid
      • Checking only equality instead of range