Try — Except In Python

Aarav Iyer
2 min readDec 2, 2024

--

One annoying thing about programming is the wide range of errors that crop up due to (for example) just a tiny typo. Luckily, Python offers various error handling tools, one of which is the try-except block.

The try block

The try block allows you to test a block of code for errors. In other words, the piece of code under try is checked to look for any errors in it.

The Python Logo. Credit: Pense em TI

Like seen commonly in Python, indentations are used to specify which line is inside the block.

For example-

x = 10
try:
print(x)
except:
print("An error occured.")

Note: The try block cannot be used without except.

The except block

Generally, if an error is encountered, Python stops execution immediately and displays the error with it’s line number. However, if an error occurs within the try block, the code inside the except block is executed immediately.

For example-

try:
print(a)
except:
print("An error occured.")

The output-

An error occured.

A specific type of error can also be specified along with except. Some common errors in Python are SyntaxError, ValueError, NameError, etc. (there are a lot more). If a specific error is specified, the except block will execute only if that type of error is encountered. If any other error occurs, the program will terminate as usual.

For example-

try:
print(x)
except NameError:
print("An error occured.")
try:
if 5 > 3:
print("Hi")
except NameError:
print("An error occured.")

The outputs-

An error occured.
File "/Users/username/folder1/folder2/file.py", line 3
print("Hi")
^
IndentationError: expected an indented block after 'if' statement on line 2

In the second case, we encounter an IndentationError. This type of error is not mentioned with the except. Hence, it's presence does not trigger the except block.

Note: You can define as many except blocks as you would like, in case you want different outputs for different types of errors.

Else blocks

You can also add an else block after the try-except. The content of this block will get executed only if no errors are detected. If an error is detected,

For example-

x = "Hi!"
try:
print(x)
except SyntaxError:
print("SyntaxError detected.")
else:
print("There seems to be no error.")

The output-

Hi!
There seems to be no error.

The finally block

The finally block can be added at the last, after the try, all the except blocks and (if present) the else. The code inside this block is executed after the try-except, regardless of whether an error was detected or not.

For example-

x = "Hi!"
try:
print(x)
except SyntaxError:
print("SyntaxError detected.")
else:
print("There seems to be no error.")
finally:
print("This line is always printed.")

That is all for this post on try-except. Any questions or suggestions can be conveyed through the comments.

Happy coding,
Aarav Iyer

--

--

Aarav Iyer
Aarav Iyer

Written by Aarav Iyer

A tech enthusiast learning Python and interested in anything related to space and the Universe.

No responses yet