Introduction to Python IndexError
IndexError is a type of exception in python that is raised by the system when the index specified as subscript does not lie in the range of indices of bounds of a list. This exception is a run-time exception and needs to be handled using a try-catch block. Such type of exception helps to handle the situation when one by mistake triggers a subscript of an array that does not exist. Handling such exception lets interpreter to terminate the application task in a well-handled manner. In Python Exception Class hierarchy Index Error does have a particular stand amongst other exceptions as given below:-
Syntax
exception IndexError
How IndexError works in Python?
In Python, we have a data structure that Is used to store the elements using the indices, that location of the elements that is the list. The list is just like an array where elements are accessed using its location in the list. The indices of elements in the list start from 0 to n-1 where n is the number of elements present in the list.
For eg= list1= [“Raj”,”Seeta”,”Grapes”]
- And if one needs to find the 2nd element in the list, then we can write list1[1] That will be Seeta.
- Since subscript is of utmost importance while accessing the elements in the list because it makes the process faster and efficient.
- But in the case while accessing the elements in the list, one mentions the index that is not in the indices range.
For eg – list2 =[40,80,78,34,753,978,98,9]
- Here, the number of elements in the list are 8 thus n=8 Thus the index for elements are in the range – [0,1,2….7]
And in case if one tries to access list2[9] thus interpreter throws an exception named IndexError with a message that list index is out of range. In case the index mentioned is not in an integer thus TypeError is thrown. We can handle such exceptions using a try-catch block where we can print our own custom error message.
Once this exception occurs control exits from the main block and enters catch block if any. The application is handled in that manner and exits.
Examples to Implement Python IndexError
Below are the examples mentioned:
Code:
import sys
print("Lets Try to find out the result for students in the class")
n=int(input())
marks_list = [20,30,50,80,90]
print("Marks for roll no " + str(n) +" is " +str(marks_list [n]))
Output:
How to avoid IndexError in Python?
Once an exception occurs it leads to crash application unexpectedly. In order to handle such unexpected behavior of the application one can use below 2 ways:-
1. Try-except
It is one of the great utility in python to handle the situation when one exception occurs in an application. Since the occurrence of an exception in a project is the unavoidable situation but one can find a way for better performance by handling those exceptions that help in avoiding unexpected behavior of an application
- Here try block refers to the statements that are suspected to have exceptions occurred when they are executed.
- Then there is except block where the control goes once the exception occurs out of one of the statements in the try block. Here one writes the statements that one needs to execute if an exception mentioned occurred.
- Then we have finally blocked that contains the statements that need to be executed while exiting the application. Execution of this block occurs irrespective of any block in the execution of the try-except block.
Let us see how the above program exiting the flow due to an exception occurred in the try block is handled using the try-except block.
Code:
import sys
print("Lets Try to find out the result for students in the class")
n=int(input())
try:
marks_list = [20,30,50,80,90]
print("Marks for roll no " + str(n) +" is " +str(marks_list[n]))
except IndexError as e:
print("Student with roll no "+str(n)+" does not exist")
print(e)
Output:
2. Error Monitoring Software
This real-time error monitoring software helps to build a project but detecting its runtime errors and automatic exception reporting. There are many companies that develop such software that helps a lot in handling exceptions and result in better efficiency and performance of the project.
Conclusion
IndexError is one of the built-in exceptions that occur in an application when an index of the list is referenced and that index doesn’t lie in the range of indices of that list. This exception results in unexpected behavior of an application thus need to be handled and that can be done using a try-except block.
Recommended Articles
This is a guide to Python IndexError. Here we discuss an introduction to Python IndexError, appropriate syntax and respective programing examples. You can also go through our other related articles to learn more –