注册退出函数

1、无论程序在哪出现异常,最终都会执行注册过的方法

 1 import atexit
 2 
 3 
 4 @atexit.register
 5 def func():
 6     print(1)
 7 
 8 
 9 def func2():
10     print(2)
11 
12 
13 def func3():
14     return 1 / 0
15 
16 
17 func3()

output:

  ZeroDivisionError: division by zero
  1

2、注册过的方法,执行遵循先进后出,即最先注册的最后执行

 1 import atexit
 2 
 3 
 4 def func():
 5     print(1)
 6 
 7 
 8 def func2():
 9     print(2)
10 
11 
12 def func3():
13     print(3)
14 
15 
16 atexit.register(func)
17 atexit.register(func2)
18 atexit.register(func3)

output:

  3

  2

  1

posted on 2022-09-23 16:58  默玖  阅读(25)  评论(0编辑  收藏  举报

导航