Python20 错误、调试

错误、调试

  • 错误处理:在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因
    • try...except...finally...的错误处理机制
      • 代码:
        ```
        # 异常处理
        # try ... except ... finally...

        '''
        当我们认为某些代码可能会出错时,就可以用try来运行这段代码,
        如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,
        执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。
        '''

        try: # 语句进来 先执行 try语句块下的 print(10/0)
        print(10/0)
        except ZeroDivisionError: # try语句块报错,执行except语句块,如果try语句块不报错则不执行except语句块
        print('except 语句执行了!')
        finally: # 不管except是否执行最后都会执行finally语句块,也可以没有finally语句
        print('finally 语句执行了!')
        print('测试完成!')
        ```
      • 运行结果:
        nnRVL8.png
    • 记录错误:Python内置的logging模块可以非常容易地记录错误信息
      • 代码:
        ```
        # 内置函数logging 记录错误信息

        # 同样是出错,但程序打印完错误信息后会继续执行,并正常退出:
        import logging
        def do_ZeroError(vaule):
        return 10 / vaule

        def man():
        try:
        do_ZeroError(0)
        except Exception:
        logging.exception(Exception)
        man()
        print('End')
        ```
      • 运行结果:
        nnhGOP.png
    • 抛出错误:raise
      • 代码:
        ```
        # 抛出错误 raise

        # 自定义一个错误,需要继承错误类
        class TestError(ValueError):
        pass
        def do_Return(i):
        if i == 0:
        raise TestError('出错了!')
        return 10 / i

        print(do_Return(0))
        ```
  • 调试:检查程序是否正确运行的手段
    • 断言:assert 的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。
    • 实例:
      nnbodI.png
    • logging:
    • 实例:
      nnqnT1.png

转载于:https://www.cnblogs.com/thloveyl/p/11469291.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值