Exception Handling in Python – [ Complete Guide ]

An exception is an error that occurs at the runtime of any python program. When any runtime error occurs program stop executing the rest of the program and flash error message.

Syntax error can be detected by the compilers or interpreter but logical error and exception errors can not be detected by the compilers.

Exception Handling in Python
Python provides methods to handle such situation and that is called exception handling. The syntax of exception handling in python is as follows

try:
	code 1
exception:
	code 2
else:
	code3
finally:
	code4

where

code1:	  This is the code that may produce an error at runtime 
code 2:  This code will execute when code1 will produce an error at runtime
code 3:  This code will execute when code1 execute and does not produce any error at runtime
code 4: This code will execute all the time, whether code produces an error at runtime or not but this code will run always

A sample code that is written using try exception

 
a = 10
 b = int(input("Enter any number "))
try:
    c = a/b
except:
    print('Cannot divide NUMBER by STRING')

Explanation of Try exception block

Put only the code that could generate run time error. Otherwise will not do anything.

if you want to print the output of the above program if there is no output on the screen. Now we want to show
the output if everything is fine.

a = 10
b = int(input("Enter any number "))
try:
    c = a/b
except:
    print('Cannot divide NUMBER by STRING')
else:
    print('Result :',c)

Output

Enter any number 2
Result : 5.0

Enter any number 0
Cannot divide NUMBER by STRING

Enter any number 3
Result : 3.3333333333333335

Now one more keyword is also available ie finally. The statements finally always execute whether there is an exception or not.

Sample Python Program to show the use of finally keyword.

a = 10
b = int(input("Enter any number "))
try:
    c = a/b
except:
    print('Cannot divide NUMBER by STRING')
else:
    print('Result :',c)
finally:
    print('End of Python Program')

The above try block will catch all the errors that will occur at runtime but if you want to raise your own exception on the certain situation then you have to define that exception separately.

a = 10
b = int(input("Enter any number "))
try:
    if(b==0):
        raise exception
    c = a/b
except Exception e:
    print('Your Divisor is ZERO')
except DivideByZero:
    print('Trying to divide your number by Zero');
else:
    print('Result :',c)
finally:
    print('End of Python Program')

SO here in this program segment, we are trying to catch only two types of exceptions only. This way you can define your own exception in Python Exception Handling.

Live example of exception handling

Hope this example will help you to understand Exception handling in Python.

If you like CBSEToaday and would like to contribute, you can also write an article using submit article or mail your article to contribute@cbsetoday.com See your article appearing on the cbsetoday.com main page and help other students/teachers.