【Day 12】Python os._exit()和 sys.exit()

Python的程序有2种退出方式:os._exit(), sys.exit()

os._exit()会直接将python程序终止,之後的所有程序码都不会继续执行。
os._exit() 一般而言运用於线上程中退出。

sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,
那麽python直译器将会退出。如果有捕获此异常的程序码,那麽这些程序码还是会执行。
捕获这个异常可以做一些额外的清理工作。
0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
sys.exit() 用於在主执行绪中退出。

在python排程,如果在子执行绪使用sys.exit(),就只能退出子执行绪,主执行绪仍然还是可以运作;
如果要在子执行绪中退出整个程序,则须使用os._exit(),才可以实现整个程序的退出。

import os, sys
try:
    sys.exit(0) 
except:
    print('die')
finally:
    print('cleanup') 
    
    
try:
    os._exit(0) 
except:
    print('die')
    print('os.exit') #不列印直接退出

<<:  [FLM] Genero的License授权

>>:  ASP.NET MVC 从入门到放弃 (Day7) -C#物件导向介绍(封装 继承 多型

低效率者如何规划学习时间?

哈哈 低效率者当然是在说我啦 (抱歉 文章分类只有技术可选择 这篇算是个人碎念日记啦) 进修时期总是...

[Day18]ISO 27001 附录 A.6 资讯安全之组织

A.6 资讯安全之组织 A.6.1 内部组织 A.6.1.1 资讯安全之角色及责任 应定义及配置所有...

Day11|【Git】档案管理 - 重新命名档案 git mv

延续上篇的说明,在 Git 的世界,任何动作对 Git 来说都可以视为一个「修改」的动作。因此这篇要...

老肝哥-菜鸟Java的LeetCode历程,第一题:Two Sum,朝远大目标前进!

由於老肝哥想利用工作之余寻找升自我的空间,在网路上逛逛PTT时意外发现 PTT上软工版各路大神都是在...

Day 9 : PHP - 如何宣告阵列?又该如何印出它?

这篇想和大家介绍一下PHP的阵列有哪些宣告方式,还有该如何印出它 会想分享是因为,我当初在学这里的时...