Python – Exceptions Handling¶
Python provides very important features to handle any unexpected error in your Python programs and to add debugging capabilities in them −
Here is a list all the standard Exceptions available in Python −¶
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 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: OSError
- 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.
What is Exception?¶
An exception is an event, which occurs during the execution of a program that disrupts the normal flow of the program’s instructions. In general, when a Python script encounters a situation that it cannot cope with, it raises an exception. An exception is a Python object that represents an error.
When a Python script raises an exception, it must either handle the exception immediately otherwise it terminates and quits.
Syntax¶
try: You do your operations here; …………………. except ExceptionI: If there is ExceptionI, then execute this block. except ExceptionII: If there is ExceptionII, then execute this block. …………………. else: If there is no exception then execute this block.
Exception 1: FileNotFoundError:¶
fo = open('machinelearning.txt','r')
try:
fo = open('machinelearning.txt','r')
except FileNotFoundError:
print("File Not Found")
Exception 2: ZeroDivisionError:¶
23/0
try:
23/0
except ZeroDivisionError:
print("Number Can't be divisible by Zero")
Exception 3: ModuleNotFoundError¶
import machinelearning
try:
import machinelearning
except ModuleNotFoundError:
print("Module not Found")
Handle Multiple Exceptions¶
try:
import machinelearning
except FileNotFoundError:
print("File Not Found")
except ZeroDivisionError:
print("Number Can't be divisible by Zero")
except ModuleNotFoundError:
print("Module not Found")
try:
import random as r
import time
n = 10/0
except FileNotFoundError:
print("File Not Found")
except ZeroDivisionError:
print("Number Can't be divisible by Zero")
except ModuleNotFoundError:
print("Module not Found")
try:
import random as r
import time
n = 10/4
open('hello.txt','r')
except FileNotFoundError:
print("File Not Found")
except ZeroDivisionError:
print("Number Can't be divisible by Zero")
except ModuleNotFoundError:
print("Module not Found")
If no exception found¶
try:
import random as r
import time
n = 10/4
open('hello.txt','w')
except FileNotFoundError:
print("File Not Found")
except ZeroDivisionError:
print("Number Can't be divisible by Zero")
except ModuleNotFoundError:
print("Module not Found")
else:
print("No Exception Found, Program Execute Successfully")