Open In App

Handling TypeError Exception in Python

Last Updated : 04 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

TypeError is one among the several standard Python exceptions. TypeError is raised whenever an operation is performed on an incorrect/unsupported object type. For example, using the + (addition) operator on a string and an integer value will raise a TypeError.

Examples

The general causes for TypeError being raised are:

1. Unsupported Operation Between Two Types

In the following example, the variable ‘geek’ is a string, and the variable ‘num’ is an integer. The + (addition) operator cannot be used between these two types and hence TypeError is raised.

Python3




geek = "Geeks"
num = 4
print(geek + num + geek)


Output :

TypeError: must be str, not int


2. Calling a non-callable Identifier

In the below example code, the variable ‘geek’ is a string and is non-callable in this context. Since it is called in the print statement, TypeError is raised.

Python3




geek = "GeeksforGeeks"
print(geek())


Output :

TypeError: 'str' object is not callable


3. Incorrect type of List Index

In Python, list indices must always be an integer value. Since the index value used in the following code is a string, it raises TypeError.

Python3




geeky_list = ["geek", "GeeksforGeeks", "geeky", "geekgod"]
index = "1"
print(geeky_list[index])


Output :

TypeError: list indices must be integers or slices, not str


4. Iterating Through a non-iterative Identifier

In the following code, the value 1234.567890 is a floating-point number and hence it is non-iterative. Forcing Python to iterate on a non-iterative identifier will raise TypeError.

Python3




for geek in 1234.567890:
    print(geek)


Output :

TypeError: 'float' object is not iterable


5. Passing an Argument of the Wrong Type to a Function

In the below code, subtraction function performs difference operation between two arguments of same type. But while calling the function if we pass arguments of two different type then Type error will be thrown by interpreter.

Python3




def subtraction(num1, num2):
    print(num1-num2)
 
 
subtraction('a', 1)


Output:

Hangup (SIGHUP)

Traceback (most recent call last):
File "Solution.py", line 5, in <module>
subtraction('a', 1)
File "Solution.py", line 2, in subtraction
print(num1-num2)
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Handling TypeError

TypeErrors are raised mostly in situations where the programmer fails to check the type of object before performing an operation on them. They can be handled specifically by mentioning them in the except block. In the following example, when one of the indices is found to be an incorrect type, an exception is raised and handled by the program.

Python3




geeky_list = ["Geeky", "GeeksforGeeks", "SuperGeek", "Geek"]
indices = [0, 1, "2", 3]
for i in range(len(indices)):
    try:
        print(geeky_list[indices[i]])
    except TypeError:
        print("TypeError: Check list of indices")


Output :

Geeky
GeeksforGeeks
TypeError: Check list of indices
Geek




Similar Reads

TypeError: Unhashable Type 'Dict' Exception in Python
In Python, the "Type Error" is an exception and is raised when an object's data type is incorrect during an operation. In this article, we will see how we can handle TypeError: Unhashable Type 'Dict' Exception in Python. What is TypeError: Unhashable Type 'Dict' Exception in PythonIn Python, certain data types are hashable, meaning their values don
4 min read
Python | Raising an Exception to Another Exception
Let's consider a situation where we want to raise an exception in response to catching a different exception but want to include information about both exceptions in the traceback. To chain exceptions, use the raise from statement instead of a simple raise statement. This will give you information about both errors. Code #1 : def example(): try: in
2 min read
Multiple Exception Handling in Python
Given a piece of code that can throw any of several different exceptions, and one needs to account for all of the potential exceptions that could be raised without creating duplicate code or long, meandering code passages. If you can handle different exceptions all using a single block of code, they can be grouped together in a tuple as shown in th
3 min read
Handling NameError Exception in Python
Prerequisites: Python Exception Handling There are several standard exceptions in Python and NameError is one among them. NameError is raised when the identifier being accessed is not defined in the local or global scope. General causes for NameError being raised are : 1. Misspelled built-in functions: In the below example code, the print statement
2 min read
Handling OSError exception in Python
Let us see how to handle OSError Exceptions in Python. OSError is a built-in exception in Python and serves as the error class for the os module, which is raised when an os specific system function returns a system-related error, including I/O failures such as "file not found" or "disk full". Below is an example of OSError: Python Code # Importing
2 min read
Handling a thread's exception in the caller thread in Python
Multithreading in Python can be achieved by using the threading library. For invoking a thread, the caller thread creates a thread object and calls the start method on it. Once the join method is called, that initiates its execution and executes the run method of the class object. For Exception handling, try-except blocks are used that catch the ex
3 min read
Handling EOFError Exception in Python
EOFError is raised when one of the built-in functions input() or raw_input() hits an end-of-file condition (EOF) without reading any data. This error is sometimes experienced while using online IDEs. This occurs when we have asked the user for input but have not provided any input in the input box. We can overcome this issue by using try and except
1 min read
Exception Handling Of Python Requests Module
Python request module is a simple and elegant Python HTTP library. It provides methods for accessing Web resources via HTTP. In the following article, we will use the HTTP GET method in the Request module. This method requests data from the server and the Exception handling comes in handy when the response is not successful. Here, we will go throug
4 min read
Python Exception Handling
We have explored basic python till now from Set 1 to 4 (Set 1 | Set 2 | Set 3 | Set 4). In this article, we will discuss how to handle exceptions in Python using try, except, and finally statements with the help of proper examples. Error in Python can be of two types i.e. Syntax errors and Exceptions. Errors are problems in a program due to which t
9 min read
Output of Python programs | Set 10 (Exception Handling)
Pre-requisite: Exception Handling in Python Note: All the programs run on python version 3 and above. 1) What is the output of the following program? data = 50 try: data = data/0 except ZeroDivisionError: print('Cannot divide by 0 ', end = '') else: print('Division successful ', end = '') try: data = data/5 except: print('Inside except block ', end
3 min read
Article Tags :
Practice Tags :