Flash cards
Review the key moves
What is the main idea behind Python Try Except?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Put the learning moves in the order that makes the concept easiest to apply.
The try block lets you test a block of code for errors.
The except block lets you handle the error.
The else block lets you execute code when there is no error.
The finally block lets you execute code, regardless of the result of the try- and except blocks.
Exception Handling
When an error occurs, or exception as we call it, Python will normally stop and generate an error message.
These exceptions can be handled using the try statement:
trySince the try block raises an error, the except block will be executed.
Without the try block, the program will crash and raise an error:
xMany Exceptions
You can define as many exception blocks as you want, e.g. if you want to execute a special block of code for a special kind of error:
NameErrorSee more Error types in our Python Built-in Exceptions Reference .
Else
You can use the else keyword to define a block of code to be executed if no errors were raised:
tryFinally
The finally block, if specified, will be executed regardless if the try block raises an error or not.
Example
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")This can be useful to close objects and clean up resources:
Example
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")The program can continue, without leaving the file object open.
Raise an exception
As a Python developer you can choose to throw an exception if a condition occurs.
To throw (or raise) an exception, use the raise keyword.
Example
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")The raise keyword is used to raise an exception.
You can define what kind of error to raise, and the text to print to the user.
Example
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")