Exception Handling in Python programming

Exception Handling in Python programming : When programming, errors happen. It’s just the way it is. Perhaps the user gave bad input. Maybe a network resource was unavailable. Maybe the program ran out of memory. Or the programmer may have even made a mistake!

 

Python’s solution to errors is exceptions. You might have seen an exception before.

print(a)

The above code alone will yield the following exception in Python:


Traceback (most recent call last):
File “”, line 1, in
print (a)
NameError: name ‘a’ is not defined

Oh snap! We forgot to assign a value to the ‘a’ variable. But sometimes you don’t want exceptions to completely stop the program or even crash. You might want to do something special when an exception is raised. This is done in a try/except block.

As a great programmer you must try to make certain your program can handle user errors, or even detect errors. Usually, this is accomplished by PROPER beta testing yourself or with others.

Here’s a trivial example: Suppose you’re iterating over a list. You need to iterate over 20 numbers, but the list is made from user input, and might not have 20 numbers in it. After you reach the end of the list, you just want the rest of the numbers to be interpreted as a 0. Here’s how you could do that:

def do_stuff_with_number(n):
        print(n)

the_list = (1, 2, 3, 4, 5)

for i in range(20):
    try:
        do_stuff_with_number(the_list[i])
    except IndexError: # Raised when accessing a non-existing index of a list
        do_stuff_with_number(0)

Trinket.io on-line Python compiler

You can do that with any exception. For more details on handling exceptions, look no further than handling exceptions in Python here.

# answer code. try exercise below.
actor = {"name": "John Cleese", "rank": "awesome"}

def get_last_name():
    return actor["name"].split()[1]

get_last_name()
print("All exceptions caught! Good job!")
print("The actor's last name is %s" % get_last_name())

Trinket.io on-line Python compiler


Related Videos:

Related Links:

Methods of teaching programming

Introduction to JavaScript – Data Types

Learn about Numpy Arrays in Python programming

Build to-do list web-app with code

Introduction to JavaScript

My little pony learning game in VB.NET

Philips devs are coding algorithms that help detect cancer accurately

Learn Partial functions Python programming

Introduction to JavaScript – Variables

Understanding Floating point number representation

Introduction to JavaScript – Variables: Review

CSS, HTML, JAVASCRIPT, Online Compiler. Code on the go by replit.it

Google’s “Grasshopper” Mobile Game Teaches Adults How To Code In An Easy, Accessible Way — And It’s Free

How to make a go-back button with PHP code?

Hello World Android app built with Android Studio

Introduction to JavaScript – Control Flow: True and False values

Introduction to JavaScript – Create a Variable: let

FAQs

Adding Python Comments

What is Python?

Why do most sites use cookies?

Learn Code Introspection Python Programming

Introduction to JavaScript – CONSOLE

 

Connected through code, Choose Your Platform!

About the Author: Bernard Aybout

In the land of bytes and bits, a father of three sits, With a heart for tech and coding kits, in IT he never quits. At Magna's door, he took his stance, in Canada's wide expanse, At Karmax Heavy Stamping - Cosma's dance, he gave his career a chance. With a passion deep for teaching code, to the young minds he showed, The path where digital seeds are sowed, in critical thinking mode. But alas, not all was bright and fair, at Magna's lair, oh despair, Harassment, intimidation, a chilling air, made the workplace hard to bear. Management's maze and morale's dip, made our hero's spirit flip, In a demoralizing grip, his well-being began to slip. So he bid adieu to Magna's scene, from the division not so serene, Yet in tech, his interest keen, continues to inspire and convene.