SlideShare a Scribd company logo
Exceptions
Team Emertxe
Introduction
Errors

Categories of Errors

Compile-time

Runtime

Logical
Errors
Compile-Time
What? These are syntactical errors found in the code, due to which program
fails to compile
Example Missing a colon in the statements llike if, while, for, def etc
Program Output
x = 1
if x == 1
print("Colon missing")
py 1.0_compile_time_error.py
File "1.0_compile_time_error.py", line 5
if x == 1
^
SyntaxError: invalid syntax
x = 1
#Indentation Error
if x == 1:
print("Hai")
print("Hello")
py 1.1_compile_time_error.py
File "1.1_compile_time_error.py", line 8
print("Hello")
^
IndentationError: unexpected indent
Errors
Runtime - 1
What? When PVM cannot execute the byte code, it flags runtime error
Example Insufficient memory to store something or inability of the PVM to
execute some statement come under runtime errors
Program Output
def combine(a, b):
print(a + b)
#Call the combine function
combine("Hai", 25)
py 2.0_runtime_errors.py
Traceback (most recent call last):
File "2.0_runtime_errors.py", line 7, in <module>
combine("Hai", 25)
File "2.0_runtime_errors.py", line 4, in combine
print(a + b)
TypeError: can only concatenate str (not "int") to str
"""
Conclusion:
1. Compiler will not check the datatypes.
2.Type checking is done by PVM during run-time.
"""
Errors
Runtime - 2
What? When PVM cannot execute the byte code, it flags runtime error
Example Insufficient memory to store something or inability of the PVM to
execute some statement come under runtime errors
Program Output
#Accessing the item beyond the array
bounds
lst = ["A", "B", "C"]
print(lst[3])
py 2.1_runtime_errors.py
Traceback (most recent call last):
File "2.1_runtime_errors.py", line 5, in <module>
print(lst[3])
IndexError: list index out of range
Errors
Logical-1
What? These errors depicts flaws in the logic of the program
Example Usage of wrong formulas
Program Output
def increment(sal):
sal = sal * 15 / 100
return sal
#Call the increment()
sal = increment(5000.00)
print("New Salary: %.2f" % sal)
py 3.0_logical_errors.py
New Salary: 750.00
Errors
Logical-2
What? These errors depicts flaws in the logic of the program
Example Usage of wrong formulas
Program Output
#1. Open the file
f = open("myfile", "w")
#Accept a, b, store the result of a/b into the file
a, b = [int(x) for x in input("Enter two number: ").split()]
c = a / b
#Write the result into the file
f.write("Writing %d into myfile" % c)
#Close the file
f.close()
print("File closed")
py 4_effect_of_exception.py
Enter two number: 10 0
Traceback (most recent call last):
File "4_effect_of_exception.py", line 8, in
<module>
c = a / b
ZeroDivisionError: division by zero
Errors
Common

When there is an error in a program, due to its sudden termination, the following things
can be suspected

The important data in the files or databases used in the program may be lost

The software may be corrupted

The program abruptly terminates giving error message to the user making the user
losing trust in the software
Exceptions
Introduction

An exception is a runtime error which can be handled by the programmer

The programmer can guess an error and he can do something to eliminate the harm caused by
that error called an ‘Exception’
BaseException
Exception
StandardError Warning
ArthmeticError
AssertionError
SyntaxError
TypeError
EOFError
RuntimeError
ImportError
NameError
DeprecationWarning
RuntimeWarning
ImportantWarning
Exceptions
Exception Handling

The purpose of handling errors is to make program robust
Step-1 try:
statements
#To handle the ZeroDivisionError Exception
try:
f = open("myfile", "w")
a, b = [int(x) for x in input("Enter two numbers: ").split()]
c = a / b
f.write("Writing %d into myfile" % c)
Step-2 except exeptionname:
statements
except ZeroDivisionError:
print("Divide by Zero Error")
print("Don't enter zero as input")
Step-3 finally:
statements
finally:
f.close()
print("Myfile closed")
Exceptions
Program
#To handle the ZeroDivisionError Exception
#An Exception handling Example
try:
f = open("myfile", "w")
a, b = [int(x) for x in input("Enter two numbers: ").split()]
c = a / b
f.write("Writing %d into myfile" % c)
except ZeroDivisionError:
print("Divide by Zero Error")
print("Don't enter zero as input")
finally:
f.close()
print("Myfile closed")
Output:
py 5_exception_handling.py
Enter two numbers: 10 0
Divide by Zero Error
Don't enter zero as input
Myfile closed
Exceptions
Exception Handling Syntax
try:
statements
except Exception1:
handler1
except Exception2:
handler2
else:
statements
finally:
statements
Exceptions
Exception Handling: Noteworthy
- A single try block can contain several except blocks.
- Multiple except blocks can be used to handle multiple exceptions.
- We cannot have except block without the try block.
- We can write try block without any except block.
- Else and finally are not compulsory.
- When there is no exception, else block is executed after the try block.
- Finally block is always executed.
Exceptions
Types: Program-1
#To handle the syntax error given by eval() function
#Example for Synatx error
try:
date = eval(input("Enter the date: "))
except SyntaxError:
print("Invalid Date")
else:
print("You entered: ", date)
Output:
Run-1:
Enter the date: 5, 12, 2018
You entered: (5, 12, 2018)
Run-2:
Enter the date: 5d, 12m, 2018y
Invalid Date
Exceptions
Types: Program-2
#To handle the IOError by open() function
#Example for IOError
try:
name = input("Enter the filename: ")
f = open(name, "r")
except IOError:
print("File not found: ", name)
else:
n = len(f.readlines())
print(name, "has", n, "Lines")
f.close()
If the entered file is not exists, it will raise an IOError
Exceptions
Types: Program-3
#Example for two exceptions
#A function to find the total and average of list elements
def avg(list):
tot = 0
for x in list:
tot += x
avg = tot / len(list)
return tot.avg
#Call avg() and pass the list
try:
t, a = avg([1, 2, 3, 4, 5, 'a'])
#t, a = avg([]) #Will give ZeroDivisionError
print("Total = {}, Average = {}". format(t, a))
except TypeError:
print("Type Error: Pls provide the numbers")
except ZeroDivisionError:
print("ZeroDivisionError, Pls do not give empty list")
Output:
Run-1:
Type Error: Pls provide the numbers
Run-2:
ZeroDivisionError, Pls do not give empty list
Exceptions
Except Block: Various formats
Format-1 except Exceptionclass:
Format-2 except Exceptionclass as obj:
Format-3 except (Exceptionclass1, Exceptionclass2, ...):
Format-4 except:
Exceptions
Types: Program-3A
#Example for two exceptions
#A function to find the total and average of list elements
def avg(list):
tot = 0
for x in list:
tot += x
avg = tot / len(list)
return tot.avg
#Call avg() and pass the list
try:
t, a = avg([1, 2, 3, 4, 5, 'a'])
#t, a = avg([]) #Will give ZeroDivisionError
print("Total = {}, Average = {}". format(t, a))
except (TypeError, ZeroDivisionError):
print("Type Error / ZeroDivisionError”)
Output:
Run-1:
Type Error / ZeroDivisionError
Run-2:
Type Error / ZeroDivisionError
Exceptions
The assert Statement

It is useful to ensure that a given condition is True, It is not True, it raises
AssertionError.

Syntax:
assert condition, message
Exceptions
The assert Statement: Programs
Program - 1 Program - 2
#Handling AssertionError
try:
x = int(input("Enter the number between 5 and 10: "))
assert x >= 5 and x <= 10
print("The number entered: ", x)
except AssertionError:
print("The condition is not fulfilled")
#Handling AssertionError
try:
x = int(input("Enter the number between 5 and 10: "))
assert x >= 5 and x <= 10, "Your input is INVALID"
print("The number entered: ", x)
except AssertionError as Obj:
print(Obj)
Exceptions
User-Defined Exceptions
Step-1 class MyException(Exception):
def __init__(self, arg):
self.msg = arg
Step-2 raise MyException("Message")
Step-3 try:
#code
except MyException as me:
print(me)
Exceptions
User-Defined Exceptions: Program
#To create our own exceptions and raise it when needed
class MyException(Exception):
def __init__(self, arg):
self.msg = arg
def check(dict):
for k, v in dict.items():
print("Name = {:15s} Balance = {:10.2f}" . format(k, v)) if (v < 2000.00):
raise MyException("Less Bal Amount" + k)
bank = {"Raj": 5000.00, "Vani": 8900.50, "Ajay": 1990.00}
try:
check(bank)
except MyException as me:
print(me)
THANK YOU

More Related Content

PDF
Exception Handling In Python | Exceptions In Python | Python Programming Tuto...
PPT
Python ppt
PDF
Lesson 02 python keywords and identifiers
ODP
PPT
Files in c++ ppt
PPTX
Python Exception Handling
PPTX
Error and exception in python
PPTX
Exception Handling in object oriented programming using C++
Exception Handling In Python | Exceptions In Python | Python Programming Tuto...
Python ppt
Lesson 02 python keywords and identifiers
Files in c++ ppt
Python Exception Handling
Error and exception in python
Exception Handling in object oriented programming using C++

What's hot (20)

PPTX
Exception handling c++
PPTX
File handling in Python
PPTX
Unit Testing with Python
PDF
Python Programming Language | Python Classes | Python Tutorial | Python Train...
PPTX
Object oriented programming with python
PDF
Python exception handling
PPTX
Operators in Python
PDF
basic of desicion control statement in python
PPTX
PPTX
Loops PHP 04
PPTX
Exception Handling in C++
PPTX
Introduction Of C++
PPTX
Branching statements
PPTX
Polymorphism in Python
PPTX
Python 3 Programming Language
PDF
Python libraries
PPTX
6-Python-Recursion PPT.pptx
PPTX
Linkers in compiler
PDF
Preprocessor
PPTX
Python-Classes.pptx
Exception handling c++
File handling in Python
Unit Testing with Python
Python Programming Language | Python Classes | Python Tutorial | Python Train...
Object oriented programming with python
Python exception handling
Operators in Python
basic of desicion control statement in python
Loops PHP 04
Exception Handling in C++
Introduction Of C++
Branching statements
Polymorphism in Python
Python 3 Programming Language
Python libraries
6-Python-Recursion PPT.pptx
Linkers in compiler
Preprocessor
Python-Classes.pptx
Ad

Similar to Python programming : Exceptions (20)

PPTX
Python Lecture 7
PPTX
Exception handling with python class 12.pptx
PPTX
Exception Handling in python programming.pptx
PPTX
Adobe Photoshop 2025 Cracked Latest Version
PPTX
FL Studio Producer Edition Crack 24 + Latest Version [2025]
PPTX
Download Wondershare Filmora Crack Latest 2025
PPTX
Exception handling.pptxnn h
PPSX
Complete C programming Language Course
PPTX
Python Session - 6
PDF
Unit 4-Exception Handling in Python.pdf
PPTX
Python Programming Essentials - M21 - Exception Handling
PPTX
Python Unit II.pptx
PPTX
Exception handling
PPTX
TYPES OF ERRORS.pptx
PPT
Py-Slides-9.ppt
PPTX
C and its errors
PPTX
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
PPTX
Exception Handling in Python topic .pptx
Python Lecture 7
Exception handling with python class 12.pptx
Exception Handling in python programming.pptx
Adobe Photoshop 2025 Cracked Latest Version
FL Studio Producer Edition Crack 24 + Latest Version [2025]
Download Wondershare Filmora Crack Latest 2025
Exception handling.pptxnn h
Complete C programming Language Course
Python Session - 6
Unit 4-Exception Handling in Python.pdf
Python Programming Essentials - M21 - Exception Handling
Python Unit II.pptx
Exception handling
TYPES OF ERRORS.pptx
Py-Slides-9.ppt
C and its errors
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Exception Handling in Python topic .pptx
Ad

More from Emertxe Information Technologies Pvt Ltd (20)

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 2 Digital Image Fundamentals.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Spectral efficient network and resource selection model in 5G networks
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
madgavkar20181017ppt McKinsey Presentation.pdf
Transforming Manufacturing operations through Intelligent Integrations
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 2 Digital Image Fundamentals.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Reach Out and Touch Someone: Haptics and Empathic Computing
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf

Python programming : Exceptions

  • 4. Errors Compile-Time What? These are syntactical errors found in the code, due to which program fails to compile Example Missing a colon in the statements llike if, while, for, def etc Program Output x = 1 if x == 1 print("Colon missing") py 1.0_compile_time_error.py File "1.0_compile_time_error.py", line 5 if x == 1 ^ SyntaxError: invalid syntax x = 1 #Indentation Error if x == 1: print("Hai") print("Hello") py 1.1_compile_time_error.py File "1.1_compile_time_error.py", line 8 print("Hello") ^ IndentationError: unexpected indent
  • 5. Errors Runtime - 1 What? When PVM cannot execute the byte code, it flags runtime error Example Insufficient memory to store something or inability of the PVM to execute some statement come under runtime errors Program Output def combine(a, b): print(a + b) #Call the combine function combine("Hai", 25) py 2.0_runtime_errors.py Traceback (most recent call last): File "2.0_runtime_errors.py", line 7, in <module> combine("Hai", 25) File "2.0_runtime_errors.py", line 4, in combine print(a + b) TypeError: can only concatenate str (not "int") to str """ Conclusion: 1. Compiler will not check the datatypes. 2.Type checking is done by PVM during run-time. """
  • 6. Errors Runtime - 2 What? When PVM cannot execute the byte code, it flags runtime error Example Insufficient memory to store something or inability of the PVM to execute some statement come under runtime errors Program Output #Accessing the item beyond the array bounds lst = ["A", "B", "C"] print(lst[3]) py 2.1_runtime_errors.py Traceback (most recent call last): File "2.1_runtime_errors.py", line 5, in <module> print(lst[3]) IndexError: list index out of range
  • 7. Errors Logical-1 What? These errors depicts flaws in the logic of the program Example Usage of wrong formulas Program Output def increment(sal): sal = sal * 15 / 100 return sal #Call the increment() sal = increment(5000.00) print("New Salary: %.2f" % sal) py 3.0_logical_errors.py New Salary: 750.00
  • 8. Errors Logical-2 What? These errors depicts flaws in the logic of the program Example Usage of wrong formulas Program Output #1. Open the file f = open("myfile", "w") #Accept a, b, store the result of a/b into the file a, b = [int(x) for x in input("Enter two number: ").split()] c = a / b #Write the result into the file f.write("Writing %d into myfile" % c) #Close the file f.close() print("File closed") py 4_effect_of_exception.py Enter two number: 10 0 Traceback (most recent call last): File "4_effect_of_exception.py", line 8, in <module> c = a / b ZeroDivisionError: division by zero
  • 9. Errors Common  When there is an error in a program, due to its sudden termination, the following things can be suspected  The important data in the files or databases used in the program may be lost  The software may be corrupted  The program abruptly terminates giving error message to the user making the user losing trust in the software
  • 10. Exceptions Introduction  An exception is a runtime error which can be handled by the programmer  The programmer can guess an error and he can do something to eliminate the harm caused by that error called an ‘Exception’ BaseException Exception StandardError Warning ArthmeticError AssertionError SyntaxError TypeError EOFError RuntimeError ImportError NameError DeprecationWarning RuntimeWarning ImportantWarning
  • 11. Exceptions Exception Handling  The purpose of handling errors is to make program robust Step-1 try: statements #To handle the ZeroDivisionError Exception try: f = open("myfile", "w") a, b = [int(x) for x in input("Enter two numbers: ").split()] c = a / b f.write("Writing %d into myfile" % c) Step-2 except exeptionname: statements except ZeroDivisionError: print("Divide by Zero Error") print("Don't enter zero as input") Step-3 finally: statements finally: f.close() print("Myfile closed")
  • 12. Exceptions Program #To handle the ZeroDivisionError Exception #An Exception handling Example try: f = open("myfile", "w") a, b = [int(x) for x in input("Enter two numbers: ").split()] c = a / b f.write("Writing %d into myfile" % c) except ZeroDivisionError: print("Divide by Zero Error") print("Don't enter zero as input") finally: f.close() print("Myfile closed") Output: py 5_exception_handling.py Enter two numbers: 10 0 Divide by Zero Error Don't enter zero as input Myfile closed
  • 13. Exceptions Exception Handling Syntax try: statements except Exception1: handler1 except Exception2: handler2 else: statements finally: statements
  • 14. Exceptions Exception Handling: Noteworthy - A single try block can contain several except blocks. - Multiple except blocks can be used to handle multiple exceptions. - We cannot have except block without the try block. - We can write try block without any except block. - Else and finally are not compulsory. - When there is no exception, else block is executed after the try block. - Finally block is always executed.
  • 15. Exceptions Types: Program-1 #To handle the syntax error given by eval() function #Example for Synatx error try: date = eval(input("Enter the date: ")) except SyntaxError: print("Invalid Date") else: print("You entered: ", date) Output: Run-1: Enter the date: 5, 12, 2018 You entered: (5, 12, 2018) Run-2: Enter the date: 5d, 12m, 2018y Invalid Date
  • 16. Exceptions Types: Program-2 #To handle the IOError by open() function #Example for IOError try: name = input("Enter the filename: ") f = open(name, "r") except IOError: print("File not found: ", name) else: n = len(f.readlines()) print(name, "has", n, "Lines") f.close() If the entered file is not exists, it will raise an IOError
  • 17. Exceptions Types: Program-3 #Example for two exceptions #A function to find the total and average of list elements def avg(list): tot = 0 for x in list: tot += x avg = tot / len(list) return tot.avg #Call avg() and pass the list try: t, a = avg([1, 2, 3, 4, 5, 'a']) #t, a = avg([]) #Will give ZeroDivisionError print("Total = {}, Average = {}". format(t, a)) except TypeError: print("Type Error: Pls provide the numbers") except ZeroDivisionError: print("ZeroDivisionError, Pls do not give empty list") Output: Run-1: Type Error: Pls provide the numbers Run-2: ZeroDivisionError, Pls do not give empty list
  • 18. Exceptions Except Block: Various formats Format-1 except Exceptionclass: Format-2 except Exceptionclass as obj: Format-3 except (Exceptionclass1, Exceptionclass2, ...): Format-4 except:
  • 19. Exceptions Types: Program-3A #Example for two exceptions #A function to find the total and average of list elements def avg(list): tot = 0 for x in list: tot += x avg = tot / len(list) return tot.avg #Call avg() and pass the list try: t, a = avg([1, 2, 3, 4, 5, 'a']) #t, a = avg([]) #Will give ZeroDivisionError print("Total = {}, Average = {}". format(t, a)) except (TypeError, ZeroDivisionError): print("Type Error / ZeroDivisionError”) Output: Run-1: Type Error / ZeroDivisionError Run-2: Type Error / ZeroDivisionError
  • 20. Exceptions The assert Statement  It is useful to ensure that a given condition is True, It is not True, it raises AssertionError.  Syntax: assert condition, message
  • 21. Exceptions The assert Statement: Programs Program - 1 Program - 2 #Handling AssertionError try: x = int(input("Enter the number between 5 and 10: ")) assert x >= 5 and x <= 10 print("The number entered: ", x) except AssertionError: print("The condition is not fulfilled") #Handling AssertionError try: x = int(input("Enter the number between 5 and 10: ")) assert x >= 5 and x <= 10, "Your input is INVALID" print("The number entered: ", x) except AssertionError as Obj: print(Obj)
  • 22. Exceptions User-Defined Exceptions Step-1 class MyException(Exception): def __init__(self, arg): self.msg = arg Step-2 raise MyException("Message") Step-3 try: #code except MyException as me: print(me)
  • 23. Exceptions User-Defined Exceptions: Program #To create our own exceptions and raise it when needed class MyException(Exception): def __init__(self, arg): self.msg = arg def check(dict): for k, v in dict.items(): print("Name = {:15s} Balance = {:10.2f}" . format(k, v)) if (v < 2000.00): raise MyException("Less Bal Amount" + k) bank = {"Raj": 5000.00, "Vani": 8900.50, "Ajay": 1990.00} try: check(bank) except MyException as me: print(me)