1、Bug的由来及分类
Bug的由来
- 世界上第一部玩用计算机的进化版-马克2号(Mark-)卡了个飞蛾
- Debug排除bug
Bug的常见类型
- 粗心导致语法错误SyntaxError
- 漏了末尾的冒号,如if语句,循环语句,else子句等
- 缩进错误,该缩进的没锁进,不该缩进的瞎缩进
- 把英文符号写成中文符号,比如说冒号、引号、括号
- 字符串拼接的时候把字符串和数字拼在一起
- 没有定义变量,比如说while循环条件的变量
- “==”比较运算符和“=”赋值运算符混用
- 知识点不熟练导致的错误
- 解决方法多练
- 思路不清晰导致的问题
- print()调试
- 注释掉某些代码
- 被动掉坑:程序代码逻辑没错,只是因为用户错误操作或一些例外情况导致的程序崩溃
- 解决方法利用python的异常处理机制try except
2、异常处理机制
try...except结构
可以有多个except结构
- 捕获异常的顺序按照先子类后父类的顺序,为了避免遗漏可能出现的异常可以在最后增加BaseException
try: #可能出现问题的代码 except 异常类型: #异常处理代码 except BaseException as e: print(e)
try...except...else结构
如果try没有抛出异常,则执行else块,如果异常则执行except模块
**try...except...else...finally结构***
finally不管怎么都会执行
3、Python中常见的异常类型
异常类型 | 描述 |
---|---|
ZeroDivisionError | 除(或取模)零 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
NameError | 未声明/初始化对象(没属性) |
SyntaxError | Python语法错误 |
ValueError | 传入无效参数 |
4、traceback模块的使用
- 输出报错吧
import traceback try: print(“—————————————-”) print(1/0) except : traceback.print_exc()
5、PyCharm的调试模式
- 断点:程序运行到此处,暂时挂起,停止执行,此时可以详细观察程序的运行情况,方便做出进一步判断
- 进入调试试图的三种模式
- 单击工具栏上的绿色小虫子按钮
- 右键点击编辑区:点击:debug模块名
- 快捷键:shift+f9