Classification and treatment of COMMON exceptions in Python


Common exception types of Python are roughly divided into the following categories:

AssertionError: Exception thrown when the assert assertion condition is false

AttributeError: An exception that is thrown when the accessed object property does not exist

IndexError: Exception that is thrown when the object index is out of scope

4.KeyError: Look in the dictionary for an exception thrown by a nonexistent key

NameError: Exception thrown when accessing a variable that does not exist

OSError: An operating system exception

7.SyntaxError: This exception is thrown when syntax errors occur

8.TypeError: Type error, usually due to operations between different types

9.ZeroDivisionError: This exception occurs when the divisor is 0 while performing a mathematical operation

For more exceptions refer to the official documentation:

Link to version 2.7

3.6 Version link

Python exception handling:

Example 1: The simplest way to handle an exception that occurs

#!/usr/bin/python
#coding:utf8

#try with except Combined with the usage

a = 1
b = 2

try :
  assert a > b     # if a>b Thrown if judged false AssertionError abnormal
except AssertionError:  # If you capture it AssertionError The exception will execute except The following code block
  print ( "a<b" )

The output from the above example is a < b because a when asserted > When b is false, an AssertionError exception is thrown, and when caught, the statement in the except block is executed

Example 2: Using multiple except to catch exceptions

#!/usr/bin/python
#coding:utf8

#try With multiple except Combined with the usage , in try Blocks of code execute in sequence, stopping whenever an exception is caught

a = 1
b = 2
c = "1"

try :
  assert a < b
  d = a + c
except AssertionError:
  print ( "a<b" )
except TypeError,e:   # Here,  e  Is the exception information
  print (e)

The results of the above for unsupported operand type (s) for + : ‘int and’ str type does not support integer and string together, the assertion is true, won’t appear so AssertionError exception, at that time after teaching, do the following statements is a TypeError exception, at this time will be executed except TypeError block of code below, behind e represent exception error message, so here is the result of the print out exception error information

Example 3: Use of try and except and else

#!/usr/bin/python
#coding:utf8

a = 1
b = 2
c = "1"

try :
  assert a < b
  d = a + b
except AssertionError,e:
  print ( "a<b" )
except TypeError,e:
  print (e)
else :          # when try Execute the statement here when executing in a block of code finds no exception
  print ( "Program execution successful" )

The above execution result is

Example 4: try and except combined with else and finally (without else)

#!/usr/bin/python
#coding:utf8

#try With multiple except Combined with the usage , in try Blocks of code execute in sequence, stopping whenever an exception is caught

a = 1
b = 2
c = "1"

try :
  assert a < b
  d = a + b
  txt = open ( "/root/1.txt" )
  txt.write( "test" )    # Open file above by default r Mode opens, and this is going to be thrown IOError abnormal
except AssertionError,e:
  print ( "a<b" )
except TypeError,e:   # Here,  e  Is the exception information
  print (e)
except IOError,e:
  print (e)
else :          # Execute the statement here when no exception is found
  print ( "Program execution successful" )
finally :
# It is often carried out with or without the people finally A statement in a block of code, usually used to open a file and exit an exception during file processing when the file is not closed
  txt.close()