What is Python Exception – Python Error & In-built Exception in Python

1. Python Error – Objective

In this Python Error tutorial, we will discuss what is a syntax error in Python. Along with this, we will study Python Exception, error message, and come in-built exception in Python Programming Language.

It will cover all possible python error and python exception to help you in running your python code smoothly as there are many reasons why to learn Python.

So, let’s begin Python Error and Python Exception.

What is Python Error - Python Exception Message & In-built Exception

What is Python Error – Python Exception Message & In-built Exception

2. Syntax Errors in Python

In your code, when you mess up the rules of Python Syntax, your code doesn’t run. The following code causes a syntax error.

>>> if 2>1 print("2")

SyntaxError: invalid syntax

This code doesn’t run because it misses a colon after the condition 2>1.

A syntax error also called a parsing error, displays ‘Syntax Error: invalid syntax’.

3. What is Python Exception?

It may be convenient to recognize the problems in your python code before you put it to real use. But that does not always happen. Sometimes, problems show up when you run the code; sometimes, midway of that.

A Python exception is an error that’s detected during execution. It may be fatal for the program, but not necessarily so. Let’s take the most common example.

>>> a,b=1,0
>>> print(a/b)

Traceback (most recent call last):

File “<pyshell#208>”, line 1, in <module>

print(a/b)

ZeroDivisionError: division by zero

Throughout our python tutorials so far, you’ve noticed words like TypeError, NameError, and so. It’s time to find out what that is. Also, learn Exception Handling in Python for Python Programming.

4. Python Error and Python Exception Message

When Python error and exceptions occur, it prints a four-line message on the screen, if not handled.

The first line declares that this is a traceback. This means that the interpreter traces the Python exception back to its source.

The second tells us the line number for the code that caused the Python exception. In our case, it is line 1. #208 means this is the 208th statement we’re running in the interpreter since we opened it.

The third line tells us which line (the statement that) caused the Python exception.

Finally, the fourth line tells us the type of Python exception that occurred. This is accompanied by a short description of what happened.

5. In-built Python Exception

Now that we know what an exception is, we will talk of a list of python exception that is inbuilt in Python. As you read the list, try to recall if you ever encountered any of these Python exceptions. Tell us in the comments.

a. AssertionError in python

This Python exception raises when an assert statement fails. This is also called Python raise expression.

A successful assert statement looks like this:

>>> assert(1==1)

But when we write the following code, we get an AssertionError:

>>> assert(1==2)

Traceback (most recent call last):

File “<pyshell#213>”, line 1, in <module>

assert(1==2)

AssertionError

We’ll take the assert statement in detail in a future lesson.

b. AttributeError in python

This one occurs when an attribute assignment or reference fails. As an example, let’s take class

‘fruit’.

>>> class fruit:

pass

>>> fruit.size

Traceback (most recent call last):

File “<pyshell#223>”, line 1, in <module>

fruit.size

AttributeError: type object ‘fruit’ has no attribute ‘size’

Here, the attribute size does not exist. Hence, it raises an AttributeError.

c. EOFError in Python

This Python exception raises when the input() function reaches the end-of-file condition.

d. FloatingPointError in Python

When a floating point operation fails, this python error occurs.

e. GeneratorExit in python

This raises when a generator’s close() method is called.

f. ImportError in Python

When the imported module isn’t found, an ImportError occurs.

>>> from math import ppi

Traceback (most recent call last):

File “<pyshell#234>”, line 1, in <module>

from math import ppi

ImportError: cannot import name ‘ppi’

g. IndexErrorin Python

When you access an index, on a sequence, that is out of range, you get an IndexError.

>>> list=[1,2,3]
>>> list[3]

Traceback (most recent call last):

File “<pyshell#236>”, line 1, in <module>

list[3]

IndexError: list index out of range

h. KeyError in Python

This raises when a key isn’t found in a dictionary.

>>> dict1={1:1,2:2}
>>> dict1[3]

Traceback (most recent call last):

File “<pyshell#239>”, line 1, in <module>

dict1[3]

KeyError: 3

i. KeyboardInterrupt in Python

This one occurs when the user hits the interrupt key (Ctrl + C).

>>> while True: print("Hello")
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello

Traceback (most recent call last):

File “<pyshell#244>”, line 1, in <module>

while True: print(“Hello”)

KeyboardInterrupt

j. MemoryError in Python

This raises when an operation runs out of memory.

k. ModuleNotFoundError in Python

When you import a module that does not exist, you will get the ModuleNotFoundError.

>>> import maths

Traceback (most recent call last):

File “<pyshell#233>”, line 1, in <module>

import maths

ModuleNotFoundError: No module named ‘maths’

l. NameError in Python

A NameError occurs when a name isn’t found in a scope.

>>> eggs

Traceback (most recent call last):

File “<pyshell#245>”, line 1, in <module>

eggs

NameError: name ‘eggs’ is not defined

m. NotImplementedError in Python

An abstract method raises a NotImplementedError.

n. OSError in Python

Now this one is raised when a system operation causes a system-related error.

o. OverflowError in Python

This raises when the result of an arithmetic operation is too large to be represented.

p. ReferenceError in Python

This is raised when a weak reference proxy is used to access a garbage collected referent.

q. RuntimeError in Python

When an error does not fall under any specific category, we call it a RuntimeError.

r. StopIteration in Python

The next() function raises StopIteration to indicate that no further item is to be returned by the iterator.

>>> def countdown():
         n=4
         while(n>0):
                 yield n
                 n-=1

>>> c=countdown()
>>> next(c)

4

>>> next(c)

3

>>> next(c)

2

>>> next(c)

1

>>> next(c)

Traceback (most recent call last):

File “<pyshell#23>”, line 1, in <module>

next(c)

StopIteration

s. IndentationError in Python

An IndentationError raises on incorrect indentation.

t. TabError in Python

When the indentation is inconsistent in tabs and spaces, there’s a TabError.

u. SystemError in Python

When the interpreter detects an internal error, it’s a SystemError.

v. SystemExit in Python

The sys.exit() function raises this one.

w. TypeError in Python

When you apply a function or an operation to an object of incorrect type, you get a TypeError.

>>> '10'+10

Traceback (most recent call last):

File “<pyshell#38>”, line 1, in <module>

’10’+10

TypeError: must be str, not int

x. UnboundLocalError in Python

You get an UnboundLocalError when you try to access a local variable without first assigning a value to it.

>>> def sayhi():
        m+=1
        print(m)
>>> sayhi()

Traceback (most recent call last):

File “<pyshell#53>”, line 1, in <module>

sayhi()

File “<pyshell#52>”, line 2, in sayhi

m+=1

UnboundLocalError: local variable ‘m’ referenced before assignment

y. UnicodeError in Python

When a Unicode-related encoding/decoding error occurs, you get the UnicodeError exception.

z. UnicodeEncodeError in Python

This is a Unicode error during encoding.

Learn: Python Inheritance, Method Overloading & Method Overriding

aa. UnicodeDecodeError in Python

The Unicode error during decoding is termed UnicodeDecodeError.

ab. UnicodeTranslateError in Python

A UnicodeTranslateError occurs during translating.

ac. ValueError in Python

You get a ValueError when you send in an argument of the correct type, but an improper value.

>>> int(input())

3.5

Traceback (most recent call last):

File “<pyshell#55>”, line 1, in <module>

int(input())

ValueError: invalid literal for int() with base 10: ‘3.5’

ad. ZeroDivisionError in Python

Finally, a ZeroDivisionError is one we’ve seen in section 3. When the denominator of a division is 0, this Python exception is raised. This doesn’t necessarily violate syntax.

>>> print(1/0)

Traceback (most recent call last):

File “<pyshell#56>”, line 1, in <module>

print(1/0)

ZeroDivisionError: division by zero

So, this is all about the Python Error and Python Exception. Hope you like our explanation.

6. Conclusion

In this module, we learned about Python Error and Python Exception and looked at some in-built exceptions in python. These are unexpected situations at runtime. Furthermore, if you have any query, feel free to ask in the comment box.

Reference

Leave a Reply

Your email address will not be published. Required fields are marked *