1、Bug的由来及分类
Bug的由来:世界上第一部万用计算机的进化版-马克2号(Mark ll)
Debug
Bug的常见类型:粗心导致的语法错误SyntaxError
粗心导致错误的自查宝典:
age=input('请输入你的年龄')
print(type(age))
# if age>=18: 没有转换类型,原有的是str类型
if int(age)>=18:
print('成年人')
i=0
while i<10: #首先需要定义i
#print(i) #代码中所有符号要英文状态下
print(i)
i+=1
知识点不熟练导致的错误:
(1)索引越界问题IndexError
lst=[11,22,33,44]
#print(lst[4]) 索引下标是从0开始的,所以是0,1,2,3
print(lst[3])
(2)append()方法的使用掌握不熟练
lst1=[]
# lst1=append('A','B','C')
lst1.append('A')
lst1.append('B')
lst1.append('C')
print(lst1)
2、不同异常类型的处理方式
思路不清导致的问题解决方案
(1)使用print()函数
(2)使用#暂时注释部分代码
3、异常处理机制
try...except...else结构
如果try块中没有抛出异常,则执行else块,如果try中抛出异常,则执行 except块。
try:
n1=int(input('请输入一个整数:'))
n2=int(input('请输入另一个整数:'))
result=n1/n2
except BaseException as e:
print('出错了')
print(e)
else:
print('结果为:',result)
try...except....else...finally结构
finally块无论是否发生异常都会被执行,能常用来释放try块中申请的资源
try:
n1=int(input('请输入一个整数:'))
n2=int(input('请输入另一个整数:'))
result=n1/n2
except BaseException as e:
print('出错了')
print(e)
else:
print('结果为:',result)
finally:
print('无论是否产生异常,总会被执行的代码')
print('程序结束')
#traceback模块 使用traceback模块打印异常信息
import traceback
try:
print('1.--------------')
num=10/0
except:
traceback.print_exc()
4、PyCharm的调试模式
1断点:
程序运行到此处,暂时挂起,停止执行,此时可以详细观察程序的运行情况,方便 做出进一步判断。
2进入调试视图:
进入调试视图的三种方式
(1)单击工具栏上的按钮
(2)右键单击编辑区,点击debug模块名
(3)快捷键:shift+F9