Python exception detection and handling methods


Catch exceptions

#  Use for numeric variables append operation
a = 123
a.apppend(4)

When this program is executed, it throws:

AttributeError: 'int' object has no attribute 'apppend'

We use the try:except statement for the capture.

#  Catch exceptions
a = 123
try:
  a.apppend(4)
except AttributeError:
   print(" Number types cannot be used append operation ")

The output is as follows:

 Number types cannot be used append operation

Catch multiple exceptions

#  Catch exceptions
a = 123
try:
  # a.apppend(4)
  print(1/0)
except AttributeError:
   print(" Number types cannot be used append operation ")
except ZeroDivisionError:
   print("0 It can't be a divisor ")

Output results:

0 It can't be a divisor

It is also possible to place the exception to 1, as JDK1.7 does.

#  Catch exceptions
a = 123
try:
  a.apppend(4)
  # print(1/0)
except (AttributeError,ZeroDivisionError) as e:
   print(" There is an error  %s" %e)

Put the exception type into a primitive. If you want to print specific exception information, you can rename the exception information and print it.

The output is as follows:

 There is an error  'int' object has no attribute 'apppend'

Use Exception to catch all exceptions

#  Catch exceptions
a = 123
try:
  print(1/'kk')
except Exception as e:
   print(" There is an error  %s" %e)

Series 1 with Exception Capture, and the output results are as follows:

 There is an error  unsupported operand type(s) for /: 'int' and 'str'

Custom exception

AttributeError: 'int' object has no attribute 'apppend'

0

You can use the ES46en keyword and ES47en, and the output is as follows:

AttributeError: 'int' object has no attribute 'apppend'

1

finally statement

AttributeError: 'int' object has no attribute 'apppend'

2

The results are as follows:

 There is an error  division by zero
 perform finally

The finally statement will still be executed even if it is thrown once.

conclusion