Errors and Exceptions in Python


Hi Folks, In this tutorial, we discuss about the errors and exceptions in python language.  Errors are something that irritates and frustrate programmers at every level of experience. In Python, there are two types of code-based errors, syntax errors, and exceptions.

Before start discussion, it is always recommended to know Python Primitives. Follow the link below


Syntax Errors

We have already seen this error already – incorrect indentation. Syntax errors will prevent the execution of the program. In this example, the if statement is missing a colon to end the statement. As you can see Python is very helpful to point out the error:

>>> if x < 9
File "<stdin>", line 1
if x < 9
SyntaxError: invalid syntax


Exception errors occur during program execution. Python has a number of built-in exceptions. For example:

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

Semantic Errors

Semantic errors are errors that happen as a result of one or more problems in logic.

These errors can be more complex because no error is generated. The code runs but generates unexpected and/or incorrect output or no output. A classic example of this would be an infinite loop that most new programmers experience at least once.


Learn Basic PhP

About the author

Pardeep Patel
Pardeep Patel

Add comment

Basics of Python