通过 Traceback 能得知运行异常的位置、原因
- 当程序没有捕获异常、运行异常时
- 会自动调用 Traceback 进行异常回溯
捕获异常
- 当程序捕获异常时
- 不会自动调用 Traceback 进行异常回溯
def run():
try:
print('Before')
print(1 / 0)
print('After')
except Exception as e:
print('异常信息', e)
finally:
print('End')
if __name__ == '__main__':
run()
traceback.print_exc()
import traceback
def run(trace=False):
"""
:param trace: 控制是否进行 异常回溯
:return:
"""
try:
print('Before')
print(1 / 0)
print('After')
except:
if trace:
traceback.print_exc()
finally:
print('End')
if __name__ == '__main__':
run(trace=True)
- Like print_exc() but return a string
- 将异常回溯的信息以字符串形式返回
import traceback
def run(trace=False):
"""
:param trace: 控制是否进行 异常回溯
:return:
"""
try:
print('Before')
print(1 / 0)
print('After')
except:
if trace:
e_str = traceback.format_exc()
print(e_str)
finally:
print('End')
if __name__ == '__main__':
run(trace=True)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步