Python:16.错误和调试

# 错误处理

# 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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 缘来缘灭,聚散离合 沧海一粟,随波逐流 茫茫宇宙中,同一个星球 漫漫时光里,同一个时代 芸芸众生相,同一种生命 珍...
    我心飞翔lijing阅读 2,586评论 0 1
  • 月圆又中秋,此际共佳节。 游子知多少,离愁一杯酒。 丙申年中秋旧作新发。
    宋安之阅读 1,724评论 0 0
  • ​John是我们之前项目的合作伙伴,他有17年的投资经验,并且全是拿自己钱玩的,股票、基金等,他都非常熟悉。有一次...
    杨小米阅读 4,068评论 1 19
  • ✪第一阶段:创意词语接龙,有相关性即可。 月亮——灯光——明亮——彩色——彩虹——大雨——青蛙——草地——蓝天——...
    七月流火_850e阅读 6,306评论 0 0
  • 那年冬天下了雪 白色雪花 慢慢地飘落 盖满了台阶 我坐在壁炉旁 卷着书页 看着红色暖暖的火苗 轻轻跳跃 我的大白猫...
    莫愁Jessie阅读 3,085评论 2 5

友情链接更多精彩内容