Search This Blog

Exception handling Concept in Python:-


Exception means unexpected run time error, which will be occurred during the execution of the program.

It is used to handle unexpected run time errors of the program to solve another program code interruption.

Project is a set of programs, if one program will be interrupted then the complete project will be destroyed hence we should always implement exception handling to protect program interruption in an application.


Python provides a try-except block to manage exception block in python program.

try block is used to represent code and except block will be used to write error message


try:
  a=  int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
except ZeroDivisionError ex:
  print ('denominator can not be zero")


How to Handle Multiple Exception in Program:-

try:
  a=  int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
except ZeroDivisionError:
  print ('denominator can not be zero')
except ValueError:
  print ('enter only numeric value')  

print("Line1")
print("Line2")

...................................................................................................................................................
.....................................................................................................................................................

finally:-

It will be executed with exception and without exception means it is the default block which will be executed whenever exception will be occurred or not.

try:
   statements
except Exception:
     Error Message
finally:
    Default Statement

It is used to provide acknowledgment or dispose of object data.

try:
  a=  int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
except ZeroDivisionError:
  print ('denominator can not be zero')
except ValueError:
  print ('enter only numeric value')  
finally:
  print('finally')
  
print("Line1")
print("Line2")

..................................................................
else:-  It is opposite of except, if the exception will not occur and we want to do something then we can write code on else block. It is the opposite of except block.

try:
  statements
  statements
except ExceptionClassname
  statements
  statements
else:
  statements


Example of Try..except--else --finally


try:
  a=  int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
except ZeroDivisionError:
  print ('denominator can not be zero')
except ValueError:
  print ('enter only numeric value')
else:
  print("NOT ANY ERROR")  
finally:
  print('finally')
  
print("Line1")
print("Line2")


Note:- Exception is the base class for all type of Exceptions


try:
  a=  int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
except Exception:
  print ('error')

else:
  print("NOT ANY ERROR")
finally:
  print('finally')

print("Line1")
print("Line2")


Complete Program of Exception Which Contain Try--catch.

flag=True
count=0
while(flag):
 try:
  a = int(input("enter first number"))
  b = int(input("enter second number"))
  c=a/b
  print(c)
 except ValueError:
  print("enter only numeric")
 except ZeroDivisionError:
  print("denominator can not be zero")
 else:
  flag=False
 finally:
  count=count+1
  print("Number of attempt "+str(count))






Sr.No.Exception Name & Description
1
Exception
Base class for all exceptions
2
StopIteration
Raised when the next() method of an iterator does not point to any object.
3
SystemExit
Raised by the sys.exit() function.
4
StandardError
Base class for all built-in exceptions except StopIteration and SystemExit.
5
ArithmeticError
Base class for all errors that occur for numeric calculation.
6
OverflowError
Raised when a calculation exceeds maximum limit for a numeric type.
7
FloatingPointError
Raised when a floating-point calculation fails.
8
ZeroDivisionError
Raised when a division or modulo by zero takes place for all numeric types.
9
AssertionError
Raised in case of failure of the Assert statement.
10
AttributeError
Raised in case of failure of attribute reference or assignment.
11
EOFError
Raised when there is no input from either the raw_input() or input() function and the end of file is reached.
12
ImportError
Raised when an import statement fails.
13
KeyboardInterrupt
Raised when the user interrupts program execution, usually by pressing Ctrl+c.
14
LookupError
Base class for all lookup errors.
15
IndexError
Raised when an index is not found in a sequence.
16
KeyError
Raised when the specified key is not found in the dictionary.
17
NameError
Raised when an identifier is not found in the local or global namespace.
18
UnboundLocalError
Raised when trying to access a local variable in a function or method but no value has been assigned to it.
19
EnvironmentError
Base class for all exceptions that occur outside the Python environment.
20
IOError
Raised when an input/ output operation fails, such as the print statement or the open() function when trying to open a file that does not exist.
21
IOError
Raised for operating system-related errors.
22
SyntaxError
Raised when there is an error in Python syntax.
23
IndentationError
Raised when indentation is not specified properly.
24
SystemError
Raised when the interpreter finds an internal problem, but when this error is encountered the Python interpreter does not exit.
25
SystemExit
Raised when Python interpreter is quit by using the sys.exit() function. If not handled in the code, causes the interpreter to exit.
26
TypeError
Raised when an operation or function is attempted that is invalid for the specified data type.
27
ValueError
Raised when the built-in function for a data type has the valid type of arguments, but the arguments have invalid values specified.
28
RuntimeError
Raised when a generated error does not fall into any category.
29
NotImplementedError
Raised when an abstract method that needs to be implemented in an inherited class is not actually implemented.


User define exception in Python:-

We can create our own exception classes to manage the exception-based program, Python uses class and object concept to implement user-defined Exception.

Now I am creating Salary Exception where if Salary will be less then 10000 then it will raise an error otherwise display a message.


Example of exception:-


class SalaryException(Exception):
    pass

try:
 sal = int(input("Enter salary of employee"))
 if sal<10000:
    raise SalaryException
 else:
     print("Salary is "+str(sal))
    
except SalaryException:
    print("Salary should be above 10000")


What is the raise?

raise is a keyword that is used to call Exception, it is similar to Java throw keyword.


.





    






Post a Comment

If you have any doubt in programming or join online classes then you can contact us by comment .

Previous Post Next Post