Sometimes, when your program runs, things can go wrong — like dividing a number by zero, or trying to open a file that doesn’t exist. These problems are called exceptions in Python.
What is an Exception?
An exception is a message that Python shows when something goes wrong while running your code. It stops the program unless you tell Python how to handle it.
Why Do Exceptions Exist?
Exceptions are helpful! They don’t crash your computer — they just let you know something unusual happened. If you don’t handle them, your program will stop. But if you do, your program can keep going or show a friendly message instead.
Example: A Simple Error
print(10 / 0)
Output:
ZeroDivisionError: division by zero
Why this happened: You’re trying to divide 10 by 0, which is not allowed in math. So Python shows a ZeroDivisionError
.
How to Handle Exceptions
Python gives us a way to handle such situations using try
and except
blocks.
Example: Handling Division by Zero
try:
print(10 / 0)
except ZeroDivisionError:
print("Oops! You can't divide by zero.")
Output:
Oops! You can't divide by zero.
Why this works: The code inside try
might cause an error. If it does, the code inside except
runs instead of crashing the program.
Another Example: Converting Text to a Number
try:
number = int("hello")
except ValueError:
print("That’s not a number!")
Output:
That’s not a number!
Why: You’re trying to turn the word "hello"
into a number. That’s not possible, so Python gives a ValueError
.
Using a General Except
try:
print(10 / 0)
except:
print("Some error happened!")
Note: You can use except
alone, but it's better to catch specific errors like ZeroDivisionError
or ValueError
if you know what to expect.
Common Exception Types
- ZeroDivisionError: Trying to divide by zero.
- ValueError: Wrong type of value, like turning "abc" into a number.
- TypeError: Using the wrong type, like adding a number and a string.
- IndexError: Using a list index that doesn’t exist.
- FileNotFoundError: Trying to open a file that doesn’t exist.
Conclusion
Exceptions are normal in programming. They help you find and fix problems. Using try
and except
, you can write programs that don’t crash — even when something goes wrong.
Next, we’ll learn how to handle different types of input from users and avoid common mistakes!