python own exception code example

Example 1: python exception list

AssertionError			#Raised when assert statement fails.
AttributeError			#Raised when attribute assignment or reference fails.
EOFError				#Raised when the input() functions hits end-of-file condition.
FloatingPointError		#Raised when a floating point operation fails.
GeneratorExit			#Raise when a generator's close() method is called.
ImportError				#Raised when the imported module is not found.
IndexError				#Raised when index of a sequence is out of range.
KeyError				#Raised when a key is not found in a dictionary.
KeyboardInterrupt		#Raised when the user hits interrupt key (Ctrl+c or delete).
MemoryError				#Raised when an operation runs out of memory.
NameError				#Raised when a variable is not found in local or global scope.
NotImplementedError		#Raised by abstract methods.
OSError					#Raised when system operation causes system related error.
OverflowError			#Raised when result of an arithmetic operation is too large to be represented.
ReferenceError			#Raised when a weak reference proxy is used to access a garbage collected referent.
RuntimeError			#Raised when an error does not fall under any other category.
StopIteration			#Raised by next() function to indicate that there is no further item to be returned by iterator.
SyntaxError				#Raised by parser when syntax error is encountered.
IndentationError		#Raised when there is incorrect indentation.
TabError				#Raised when indentation consists of inconsistent tabs and spaces.
SystemError				#Raised when interpreter detects internal error.
SystemExit				#Raised by sys.exit() function.
TypeError				#Raised when a function or operation is applied to an object of incorrect type.
UnboundLocalError		#Raised when a reference is made to a local variable in a function or method, but no value has been bound to that variable.
UnicodeError			#Raised when a Unicode-related encoding or decoding error occurs.
UnicodeEncodeError		#Raised when a Unicode-related error occurs during encoding.
UnicodeDecodeError		#Raised when a Unicode-related error occurs during decoding.
UnicodeTranslateError	#Raised when a Unicode-related error occurs during translating.
ValueError				#Raised when a function gets argument of correct type but improper value.
ZeroDivisionError		#Raised when second operand of division or modulo operation is zero.

Example 2: create custom exception python

class SalaryNotInRangeError(Exception):
    """Exception raised for errors in the input salary.

    Attributes:
        salary -- input salary which caused the error
        message -- explanation of the error
    """

    def __init__(self, salary, message="Salary is not in (5000, 15000) range"):
        self.salary = salary
        self.message = message
        super().__init__(self.message)

    def __str__(self):
        return f'{self.salary} -> {self.message}'


salary = int(input("Enter salary amount: "))
if not 5000 < salary < 15000:
    raise SalaryNotInRangeError(salary)

Example 3: create custom exception python

class CustomError(Exception):
  	pass