What are errors and exceptions?
When Python can’t execute your code, it stops and reports a problem.
- Syntax errors happen when Python can’t even parse the code.
- Exceptions happen while the program is running (runtime problems).
Syntax Error
A syntax error occurs when Python sees invalid code structure.
# Missing colon
if 10 > 5
print("10 is greater")Typical output:
File "syntax_error.py", line 2
if 10 > 5
^
SyntaxError: expected ':'Exception (runtime error)
Example: division by zero.
print(10 / 0)Traceback (most recent call last):
File "zero_division.py", line 1, in <module>
print(10 / 0)
ZeroDivisionError: division by zeroHow to read a traceback
A traceback tells you:
- Where the error occurred (file and line number)
- The call stack (which functions were called)
- The exception type and message
Common exception types
NameError– variable not definedTypeError– wrong type used (e.g., add str + int)ValueError– correct type, invalid value (e.g., int("abc"))IndexError– list index out of rangeKeyError– dict key missingFileNotFoundError– file path not found
# NameError
# print(x)
# TypeError
# print("age: " + 10)
# ValueError
# print(int("abc"))
# IndexError
# nums = [1, 2]
# print(nums[10])
# KeyError
# d = {"a": 1}
# print(d["missing"])
# FileNotFoundError
# open("missing.txt", "r")Next
In the next pages you’ll learn:
- Handling exceptions with
try/except - Cleaning up resources with
finallyand context managers - Creating custom exceptions
🧪 Try It Yourself
Exercise 1 – Catch a ValueError
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.Exercise 2 – Multiple Except Blocks
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.Exercise 3 – Raise a Custom Exception
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.