若是不捕获错误,天然能够让Python解释器来打印出错误堆栈,但程序也被结束了
既然能捕获错误,就能够把错误堆栈打印出来,而后分析错误缘由,同时,让程序继续执行下去spa
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') #一样是出错,但程序打印完错误信息后会继续执行,并正常退出