RivoCode

Python Basics · Error Handling · Lesson 21 of 36

Raising Your Own Exceptions

Concept

Raising Your Own Exceptions

The raise keyword lets your own functions signal a problem, using a built-in exception type like ValueError or a custom message.

Raising stops the function immediately, the same way return does, but signals failure instead of a normal result.

By the end of this lesson
  • Explain the core idea behind Raising Your Own Exceptions.
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
Syntax
raise ExceptionType("message")
ExampleRunnable
def withdraw(balance, amount):
    if amount > balance:
        raise ValueError("Insufficient funds")
    return balance - amount

try:
    withdraw(50, 100)
except ValueError as error:
    print(error)
Try it Yourself »
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in Raising Your Own Exceptions. Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Write a function divide(a, b) that raises a ValueError when b is 0, then call it inside a try/except.

Loading editor…

Console

Output will appear here...