Python Basics · Error Handling · Lesson 20 of 36
try and except
Concept
try and except
Wrapping risky code in a try block lets Python attempt it, then fall back to an except block instead of crashing when something goes wrong.
You can catch specific exception types, like ValueError, or catch every exception with a bare except: — though being specific makes bugs easier to find later.
By the end of this lesson
- Explain the core idea behind try and except.
- 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. Read one concept.
- 2. Change the example.
- 3. Run, compare, and explain.
- 4. Complete the challenge below.
Syntax
try:
# risky code
except ExceptionType:
# handle itExampleRunnable
try:
number = int("not a number")
except ValueError:
print("That wasn't a valid number.")Try it Yourself »Self-check before continuing
Without looking at the example, describe what changes when you modify one input in try and except. 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
Wrap a line that divides by a variable that might be zero in a try/except that catches ZeroDivisionError.
Loading editor…
Console