如果不捕获错误,自然可以让Python解释器来打印出错误堆栈,但程序也被结束了
既然能捕获错误,就可以把错误堆栈打印出来,然后分析错误原因,同时,让程序继续执行下去
logging模块
Python内置的logging模块可以非常容易地记录错误信息
通过配置,logging还可以把错误记录到日志文件里,方便事后排查
import logging def foo(s): return 10 / int(s) def bar(s): return foo(s) * 2 def main(): try: bar('0') except Exception as e: logging.exception(e) main() print('END') #同样是出错,但程序打印完错误信息后会继续执行,并正常退出