python的错误处理和调试

python的错误处理和调试

异常处理

python和其他语言一样,都有异常处理机制。
其语法和其他语言大差不差:

try:
    可能出错的代码
except 异常类型1 as 变量名1:
    处理异常1的代码
    如果需要,还可以抛出新的异常
    或者继续处理原来的异常
else:
    如果没有异常,就执行这里的代码
finally:
    无论是否发生异常都会执行的代码

异常捕捉顺序也和C++一样,从上到下挨个匹配

抛出异常

raise Exception('我是异常')

类似于C++中的throw。在try代码中抛出异常,也可以在except代码中抛出。
该异常一般在except代码中处理,或者在finally代码中处理。

异常类型

所有的异常类型继承自BaseException
https://docs.python.org/3/library/exceptions.html#exception-hierarchy

调试

  1. print
    和C++大致一样,简单调试使用print
print(a)
  1. 断言
    也可以使用断言
assert a == b, 'a不等于b'

若断言失败,则抛出断言异常AssertionError
C++的断言在 设置NDEBUG宏后不执行,但是python中的断言一直有效。
不过python断言可以在运行时加 -O去除

  1. logging
    logging模块提供了日志功能,可以记录程序运行的信息。
    好处是,可以直接输出到文件中。

  2. pdb
    这种方法应该是正常调试最喜欢的,可以单步调试,ide的调试就是调用的这个

单元测试

python自带unittest模块,提供了一些简单的单元测试功能。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值