最近在公司用python写一个独立的exe写叻如下几行代码:
最开始调试并没有任何问题,进程退出并将退出码设置为func的返回值。
后面加上异常保护后(我写代码有个习惯最开始只写粗框架,必要时会加上为了让自己理清逻辑的注释等框架搭完后再完善日志、注释和异常保护等),代码却出问题修改后的代碼如下:
每次程序执行完都会打出一个Systemexit和_exit的异常。
看了python doc后才发现使用sys.exit和_exit()函数的正确姿势。
通过说明可以看到 sys.exit和_exit()这个函数,只有认為退出码为0是正常退出而其他退出码则会认为是异常退出,系统自动抛出Systemexit和_exit的异常方便开发人员在外层捕获并处理。
如果需要返回退絀码而不抛出异常的话,可以使用os._exit和_exit()函数
哎,学习不精呀平时都是在写django,python的main都没写过几个虽然是python基础知识,还是得mark一下的~