可以让sys.exit()退出Bottle框架吗
我原本希望在代码里加上 'sys.exit(1)',然后在后面捕捉这个错误,这样就能正常退出了。
xml_open()
try:
run(reloader=True, host='localhost', port=8080)
except SystemExit:
xml_save()
print "Exited ..."
有没有其他方法可以让这些 Python 微框架在处理函数里退出呢?
3 个回答
0
根据我有限的经验,当关闭重载器时,sys.exit()
应该是有效的。否则,重载器会在执行sys.exit()
时重新加载代码,这样你的应用程序就会继续运行。当然,我可能对sys.exit()
为什么不工作的原因理解错了,但对我来说,当我关闭重载器时,它是有效的。
1
如果你还在遇到这个问题,可以看看我的回答,里面有一个简单的方法来停止Bottle框架,点击这里查看。
1
如果没有处理这个问题,那就检查一下是否真的执行了 sys.exist(1) 这个语句,因为可能会发生其他的异常情况,而这些异常没有被处理。你可以试试这个方法……
xml_open()
try:
run(reloader=True, host='localhost', port=8080)
except SystemExit:
xml_save()
print "Exited ..."
except Exception, e:
print "ohhh no.......",str(e)
import pdb
pdb.post_mortem()
sys.exit(-1)