try / except / else / finally
Structure exception-handling blocks for any scenario.
try / except / else / finally is a free Python Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Python Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Introduction
Basic try/except
try:
x = int('abc')
except ValueError:
print('not a number')Catching the Exception Object
try:
int('oops')
except ValueError as e:
print(f'Error: {e}')Catching Multiple Exceptions
for val in ['abc', None, 42]:
try:
print(int(val))
except (TypeError, ValueError) as e:
print(f'skipping {val!r}: {e}')Bare except (avoid it)
try:
risky = 1/0
except ZeroDivisionError:
print('division error') # specificMultiple except Clauses
def process(val):
try:
return 10 / int(val)
except ValueError:
print('not a number')
except ZeroDivisionError:
print('division by zero')
process('abc')
process('0')else Clause
try:
x = int('42')
except ValueError:
print('bad input')
else:
print('parsed:', x)finally Clause
def read_file(path):
f = None
try:
f = open(path)
return f.read()
except FileNotFoundError:
return None
finally:
if f: f.close()
print(read_file('/nonexistent'))finally with return
def demo():
try:
return 'try'
finally:
return 'finally' # overrides!
print(demo())Nested try Blocks
try:
try:
x = 1/0
except ValueError:
print('inner')
except ZeroDivisionError:
print('outer caught it')Logging Exceptions
import logging
try:
1/0
except ZeroDivisionError:
logging.exception('Caught an error')Quick Check
Recap
Keep Going
Frequently asked questions
Is the “try / except / else / finally” lesson free?
Yes — the full text of “try / except / else / finally” is free to read here on the web, and the Python Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Python Academy course, upgrade to CoddyKit PRO.
What will I learn in “try / except / else / finally”?
Structure exception-handling blocks for any scenario. You practise Python Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Python Academy?
No prior experience is required. Python Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “try / except / else / finally” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Python Academy lesson?
Yes. Every Python Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Understanding Exceptions
- try / except / else / finally
- Raising and Re-raising Exceptions
- Custom Exception Classes