1、定义
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
2、异常处理
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 
 | """ 异常处理 """from tool import topic
 
 
 def demo_1():
 print(x)
 pass
 
 
 def demo_2():
 try:
 print(5 / 0)
 except (NameError, IOError):
 print("There is a NameError or IOError occured.")
 pass
 
 
 def demo_3():
 try:
 print(x)
 except:
 print("Name Error occured.")
 return
 finally:
 print("demo_3 end.")
 print("In function demo_3.")
 pass
 
 
 if __name__ == "__main__":
 demo_1()
 demo_2()
 demo_3()
 pass
 
 | 
3、打印异常信息
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | """ 打印异常信息 """import traceback
 
 
 def demo_1():
 try:
 print(5 / 0)
 except Exception as e:
 print(e)
 pass
 
 
 def demo_2():
 try:
 print(5 / 0)
 except Exception as e:
 traceback.print_exc()
 pass
 
 
 if __name__ == "__main__":
 demo_1()
 demo_2()
 pass
 
 | 
4、触发异常
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | """ 触发异常 """from tool import topic
 import traceback
 
 
 @topic("Demo-1")
 def demo_1():
 try:
 raise NameError
 except Exception as e:
 traceback.print_exc()
 pass
 
 
 @topic("Demo-2")
 def demo_2():
 level = 1
 try:
 if level == 1:
 raise Exception("Invalid level!", level)
 except Exception as e:
 traceback.print_exc()
 pass
 
 
 if __name__ == "__main__":
 demo_1()
 demo_2()
 pass
 
 | 
5、自定义异常
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 | """ 自定义异常 """
 
 class MyException(Exception):
 
 def __init__(self, name, reason):
 self.name = name
 self.reason = reason
 
 
 def demo_1():
 try:
 raise MyException("TimeoutError", "Connection timeout.")
 except MyException as e:
 print(f"{e.name}: {e.reason}")
 pass
 
 
 if __name__ == "__main__":
 demo_1()
 pass
 
 |