# 错误处理
# try
'''
1. 可以有多个except
'''
try:
pass
except ZeroDivisionError as e:
print('except:',e)
finally:
print('finally...')
# 记录错误
'''
1. logging模块:同样出错,但程序打印完错误信息后会继续执行,并正常退出
2. logging可以把错误记录到日志文件里,方便事后排查。
'''
import logging
def main():
try:
pass
except Exception as e:
logging.exception(e)
finally:
pass
# 抛出错误
'''
1. raise语句:抛出一个错误的实例
'''
# 调试
# 断言
'''
凡是用print()的地方都可以用断言(assert)来替代
'''
def foo(s):
n = int(s)
assert n != 0, 'n is zero!'
return 10 /n
# pdb
'''
1. Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态
启动:
-m pdb 文件名.py
单步执行代码:
n
查看变量:
p 变量名
结束调试:
q
'''
# pdb.set_trace()
'''
1. 导入import pdb
2. 在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点
查看变量:
p 变量名
继续运行:
c
'''
import pdb
s = '0'
n = int(s)
pdb.set_trace() # 运行到这里会自动暂停
print(10/n)
Python:16.错误和调试
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- John是我们之前项目的合作伙伴,他有17年的投资经验,并且全是拿自己钱玩的,股票、基金等,他都非常熟悉。有一次...