python程序有兩種退出方式:
os._exit()
sys.exit()。
os._exit()會(huì)直接將python程序終止,之后的所有代碼都不會(huì)執(zhí)行。
sys.exit()會(huì)拋出一個(gè)異常:SystemExit,如果這個(gè)異常沒有被捕獲,那么python解釋器將會(huì)退出。如果有捕獲該異常的代碼,那么這些代碼還是會(huì)執(zhí)行。
舉個(gè)例子
importos
try:
os._exit(0)
except:
print('Programisdead.')
這個(gè)print是不會(huì)打印的,因?yàn)闆]有異常被捕獲。
importsys
try:
sys.exit(0)
except:
print('Programisdead.')
finally:
print('clean-up')
這里兩個(gè)print都可以打印,因?yàn)閟ys.exit()拋出了異常。
結(jié)論
使用sys.exit()來退出程序比較優(yōu)雅,調(diào)用它能引發(fā)SystemExit異常,然后我們可以捕獲這個(gè)異常做些清理工作。而os._exit()將python解釋器直接退出,后面的語句都不會(huì)執(zhí)行。一般情況下用sys.exit()就行;os._exit()可以在os.fork()產(chǎn)生的子進(jìn)程里使用。
以上內(nèi)容為大家介紹了python培訓(xùn)之使用sys.exit報(bào)錯(cuò)是什么原因,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。