Python学习之错误调试和测试

Python学习目录

  1. 在Mac下使用Python3
  2. Python学习之数据类型
  3. Python学习之函数
  4. Python学习之高级特性
  5. Python学习之函数式编程
  6. Python学习之模块
  7. Python学习之面向对象编程
  8. Python学习之面向对象高级编程
  9. Python学习之错误调试和测试
  10. Python学习之IO编程
  11. Python学习之进程和线程
  12. Python学习之正则
  13. Python学习之常用模块
  14. Python学习之网络编程

在程序运行过程中,总会遇到各种各样的错误,Python内置了一套异常处理机制,来帮助我们进行错误处理。

错误处理

在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。

用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错,所以高级语言通常都内置了一套try...except...finally...的错误处理机制,Python也不例外。

try

try: print('try...') r = 10 / 0 print('result:', r)except ZeroDivisionError as e: print('except:', e)finally: print('finally...')print('END')复制代码

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

Python的错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except时需要注意的是,它不但捕获该类型的错误,还把其子类也“一网打尽”。

调用栈

如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。来看看err.py:

# err.py:def foo(s): return 10 / int(s)def bar(s): return foo(s) * 2def main(): bar('0')main()复制代码

执行,结果如下:

$ python3 err.pyTraceback (most recent call last): File "err.py

error 系统错误 错误码10007_Python学习之错误调试和测试相关推荐

  1. error 系统错误 错误码10007_在Java项目中打印错误日志的正确姿势,排查问题更方便,非常实用!...

    作者:琴水玉 cnblogs.com/lovesqcc/p/4319594.html 在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导. 但是在实际中打的错误日志内容和格式变 ...

  2. error 系统错误 错误码10007_Linux错误代码:errno.h与返回值 -EINVAL

    1.概述 编写Linux驱动,看见返回值为 "return -EINVAL",不是很清楚,特此查询. EINVAL 是定义在 errno.h 中的一个宏定义,它定义了一个整形变量( ...

  3. error 系统错误 错误码10007_使用 Go 定义错误码

    简介 设计错误码 代码实现 常见的错误码 总结 当前部分的代码 简介 不管在什么系统中, 定义错误码都是必不可少的. 错误码可以帮助定义问题, 通常错误码设计为某种模式结构, 可以判断出错误的级别, ...

  4. error 系统错误 错误码10007_工业界纠错系统

    本篇文章,主要来唠嗑下工业界的纠错系统怎么设计?包括:基于规则的纠错系统(简单的英文纠错.复杂的中文纠错).基于NN的纠错系统.当然,在成熟的工业界纠错系统中,最好是结合规则&&NN方 ...

  5. error 系统错误 错误码10007_为什么阿里巴巴禁止工程师直接使用日志系统( Log4j 、Logback )中的 API...

    (给ImportNew加星标,提高Java技能) 转自:Hollis 作为Java程序员,我想很多人都知道日志对于一个程序的重要性,尤其是Web应用.很多时候,日志可能是我们了解应用程序如何执行的唯一 ...

  6. message:Error: 系统错误,错误码:80051,source size 3962KB exceed max limit 2MB [20220819 14:42:38][wx21e41af1

    在做uniapp项目想要在手机模拟预览调试 又不能去改动代码的时候  由于包过大超出限制才会出现这个错误 不需要改动任何东西  只需要在开发工具上 找到右上角的 --->详情--->本地设 ...

  7. error 系统错误 错误码10007_Linux 系统安装配置 Nginx

    1.前言 Nginx 是一款轻量级的代理服务器,其特点是占有内存少,并发能力强,在集群方案中作为负载均衡使用. nginx-1.14.1 之前的版本存在多个安全问题,推荐使用 nginx-1.15.6 ...

  8. error 系统错误 错误码10007_干货分享:退款系统,看这篇就够了

    退款,是一个易造成负体验的业务产品.原因是商户对于退款的要求务必退款成功.高效.快,而且又得很好地支撑业务,否则就容易招来吐槽. 退款,一个看似简单,但充满复杂性的产品. 要想做好退款系统,我们必须深 ...

  9. fastdfs存储空间不足报错:错误码:28,错误信息:没有足够的存储空间

    由于公司挂载在根目录下的网盘只有300G,使用了将近3年左右,最近公司同事反映上传上去的视频无法播放一直报错,查看后台报错信息如下 错误码:28,错误信息:没有足够的存储空间 查看服务器存储空间 df ...

最新文章

  1. top与bottom、left与right的优先级
  2. python 生成001开始的序号_你知道嘛:Python内建序列通用操作有6种实现方法(赶快收藏)...
  3. HUST1024 dance party(最大流)
  4. 《Adobe Premiere Pro CC经典教程》——14.6 特殊颜色效果
  5. MySQL(14)--- WHERE 子句
  6. span标签居中显示的正确方法
  7. 先装ubuntu后装windows时遇到的问题的解决办法
  8. TMC5160步进电机驱动芯片,简析
  9. bandicom录屏音画不同步_bandicam录屏工具
  10. Unity网络——断线重连
  11. 函数的原函数,可积性和变上限积分之间的区别和联系
  12. paypal支付接口说明
  13. 微信小程序账号注册初始化环境搭建
  14. java中的堆栈的意思,java – 堆栈跟踪中的数字是什么意思?
  15. 通过js批量下载地图TopoJson数据
  16. 现代C语言程序设计之C语言概述
  17. CAP MAP VLR HLR GMSC DP gsmSSF简介
  18. Windows 10下安装Elementary OS双系统
  19. 吉吉拍——线上线下购物的数字化抢拍平台
  20. 九点手眼标定的原理及方法,视觉引导必知必会。

热门文章

  1. vue重置data数据 神器之Object.assign()
  2. 想学python3_Python3学习之路(第一章)
  3. 早绑定,晚绑定和其实现
  4. 匿名四轴上位机学习(一)——高级收码绘制波形
  5. 怎样运营淘宝店,招徕回头客?——相关分析教你关键秘诀
  6. 颜色提取工具,一键颜色值复制工具
  7. 四、全国计算机二级Python考试——基本操作题(三)
  8. 雷柏1090P无线鼠标故障维修手记
  9. ios上架图片在线制作_苹果TF上架的具体流程及注意事项
  10. ubuntu16.04下实现剪切版共享以及拼音打字输入