Python Exceptions
Python Exceptions
Python Exceptions
Python Exceptions
An exception can be defined as an abnormal condition in a program resulting in the
disruption in the flow of the program.
Whenever an exception occurs, the program halts the execution, and thus the further
code is not executed. Therefore, an exception is the error which python script is unable to
tackle with.
Python provides us with the way to handle the Exception so that the other part of the
code can be executed without any disruption. However, if we do not handle the exception, the
interpreter doesn't execute all the code that exists after the that.
Common Exceptions
A list of common exceptions that can be thrown from a normal python program is given below.
As we have already discussed, the exception is an abnormal condition that halts the
execution of the program. Consider the following example.
Example
1. a = int(input("Enter a:"))
2. b = int(input("Enter b:"))
3. c = a/b;
4. print("a/b =
%d"%c) 5.
6. #other code:
7. print("Hi I am other part of the program")
Output:
Enter a:10
1
Exception handling in
python
By PS
Enter b:0
Traceback (most recent call last):
File "exception-test.py", line 3, in <module>
c = a/b;
ZeroDivisionError: division by zero
Syntax
1. try:
2. #block of code
3.
4. except Exception1:
5. #block of code
6.
7. except Exception2:
8. #block of code
9.
10. #other code
We can also use the else statement with the try-except statement in which, we can
place the code which will be executed in the scenario if no exception occurs in the try block.
2
Exception handling in
python
By PS
The syntax to use the else statement with the try-except statement is given below.
1. try:
2. #block of code
3.
4. except Exception1:
5. #block of code
6.
7. else:
8. #this code executes if no except block is executed
3
Exception handling in
python
By PS
Example
1. try:
2. a = int(input("Enter a:"))
3. b = int(input("Enter b:"))
4. c = a/b;
5. print("a/b = %d"%c)
6. except Exception:
7. print("can't divide by zero")
8. else:
9. print("Hi I am else block")
Output:
Enter a:10
Enter b:2
a/b = 5
Hi I am else block
Python provides the flexibility not to specify the name of exception with the except statement.
Example
1. try:
2. a = int(input("Enter a:"))
3. b = int(input("Enter b:"))
4. c = a/b;
5. print("a/b = %d"%c)
6. except:
7. print("can't divide by zero")
8. else:
9. print("Hi I am else block")
Output:
Enter a:10
Enter b:0
can't divide by zero
4
Exception handling in
python
By PS
Points to remember
1. Python facilitates us to not specify the exception with the except statement.
2. We can declare multiple exceptions in the except statement since the try block
may contain the statements which throw the different type of exceptions.
3. We can also specify an else block along with the try-except statement which will be
executed if no exception is raised in the try block.
4. The statements that don't throw the exception should be placed inside the else block.
Example
1. try:
2. #this will throw an exception if the file doesn't exist.
3. fileptr = open("file.txt","r")
4. except IOError:
5. print("File not found")
6. else:
7. print("The file opened successfully")
8. fileptr.close()
Output:
Syntax
1. try:
2. #block of code
3.
4. except (<Exception 1>,<Exception 2>,<Exception 3>,...<Exception n>)
5. #block of code
6.
7. else:
8. #block of code
5
Exception handling in
python
By PS
Example
1. try:
2. a=10/0;
3. except ArithmeticError,StandardError:
4. print "Arithmetic Exception"
5. else:
6. print "Successfully Done"
Output:
Arithmetic Exception
We can use the finally block with the try block in which, we can pace the important code
which must be executed before the try statement throws an exception.
syntax
1. try:
2. # block of code
3. # this may throw an exception
4. finally:
5. # block of code
6. # this will always be executed
6
Exception handling in
python
By PS
Example
1. try:
2. fileptr = open("file.txt","r")
3. try:
4. fileptr.write("Hi I am good")
5. finally:
6. fileptr.close()
7. print("file closed")
8. except:
9. print("Error")
7
Exception handling in
python
By PS
Output:
file closed
Error
Raising exceptions
An exception can be raised by using the raise clause in python. The syntax to use the raise
statement is given below.
syntax
1. raise Exception_class,<value>
Points to remember
1. To raise an exception, raise statement is used. The exception class name follows it.
2. An exception can be provided with a value that can be given in the parenthesis.
3. To access the value "as" keyword is used. "e" is used as a reference variable
which stores the value of the exception.
Example
1. try:
2. age = int(input("Enter the age?"))
3. if age<18:
4. raise ValueError;
5. else:
6. print("the age is valid")
7. except ValueError:
8. print("The age is not valid")
Output:
Example
1. try:
2. a = int(input("Enter a?"))
3. b = int(input("Enter b?"))
4. if b is 0:
5. raise ArithmeticError;
6. else:
8
Exception handling in
python
By PS
7. print("a/b = ",a/b)
9
Exception handling in
python
By PS
8. except ArithmeticError:
9. print("The value of b can't be 0")
Output:
Enter a?10
Enter b?0
The value of b can't be 0
Custom Exception
The python allows us to create our exceptions that can be raised from the program and caught
using the except clause. However, we suggest you read this section after visiting the Python
object and classes.
Example
1. class ErrorInCode(Exception):
2. def init (self, data):
3. self.data = data
4. def str (self):
5. return repr(self.data)
6.
7. try:
8. raise ErrorInCode(2000)
9. except ErrorInCode as ae:
10. print("Received error:", ae.data)
Output:
1
Exception handling in 0
python