This tutorial will give an introduction to what Python exceptions are, the most common types of exceptions, and how to handle raised exceptions with the
What is a Python Exception?
A Python exception is a construct used to signal an important event, usually an error, that occurs when executing a program. An exception may cause the program to stop if it is not properly “caught” (i.e. handled correctly). If you think that your program might raise an exception when executed, you will find it useful to use
try/except to handle them, which we’ll see in the next section.
In the example below, we prompt user to enter a number, and after execution the program gives out the value of the given number squared. The program will work as long as you enter a number as your input.
while True: x = int(raw_input("Please enter a number: ")) print("%s squared is %s" % (x, x**2))
When you enter a string, or any other character that is not a number, like “one”, the program will raise a “Value Error” exception, as shown below:
$ python squared.py Please enter a number: 3 3 squared is 9 Please enter a number: 4 4 squared is 16 Please enter a number: five Traceback (most recent call last): File "squared.py", line 4, in <module> x = int(raw_input("Please enter a number: ")) ValueError: invalid literal for int() with base 10: 'five'
This is where handling exceptions comes in. You need to know how to properly handle exceptions, especially in production environments, because if they are not handled your program won’t know what to do and will crash.
Let’s see how we can handle the above error. This is done by surrounding the program that you think could raise an exception with a
try keyword and matching it with a following
except keyword to execute in case an exception is raised.
Let’s rewrite the same program, and this time take care of any exceptions that may arise.
while True: try: x = int(raw_input("Please enter a number: ")) print("%s squared is %s" % (x, x**2)) except ValueError: print("Please enter a valid number!")
As you can see from the above program, the code inside the
try statement is executed first. If no error occurs, the rest of the code is executed and the
except statement is skipped.
Read full articler at Stackabuse