Bugs

Bug的由来与分类

1、粗心导致的语法错误:漏写冒号;缩进错误;中文符号;===的混用;字符串与数字混用

2、知识不熟练导致的错误

3、思路不清导致的错误:使用print()打印输出;注释部分代码

4、被动掉坑:程序逻辑没有错,因为用户错误操作导致问题。解决方案:python提供了异常处理机制,可以在异常出现时捕获,然后内部消化,让程序继续运行。

try:

    可能出现异常的代码
    
except 异常类型1:

    异常处理代码    
    
except 异常类型2:

    异常处理代码

try...except...else结构:
如果try块中未抛出异常,则执行else块;如果try抛出异常,则执行except块。

try:

    可能出现异常的代码
    
except 异常类型 / BaseException as e:

    print('出错了',e)
    
else:

    执行代码

try...except...else...finally结构:

如果try块中未抛出异常,则执行else块;如果try抛出异常,则执行except块。finally块中的内容无论是否发生异常都会被执行,常用来释放try块中申请的资源。

try:

    可能出现异常的代码
    
except 异常类型 / BaseException as e:

    print('出错了',e)
    
else:

    执行代码
    
finally:
    执行代码

python中常见的异常类型

ZeroDivisionError:除零

IndexError: 序列中没有此索引

KeyError:映射中没有这个间

NameError:未声明/初始化对象(没有属性)

SyntaxError:python语法错误

ValueError:传入无效的参数

python的异常处理机制

# traceback模块:使用traceback模块打印异常信息

import traceback
try:
    print('1.-------------------')
    num=10/0
except:
    traceback.print_exc()
1.-------------------


Traceback (most recent call last):
  File "<ipython-input-1-20a2333d566c>", line 6, in <module>
    num=10/0
ZeroDivisionError: division by zero

pycharm开发环境的调试

设置断点;按工具栏上的小虫子按钮(Shift+F9);
在运行窗口按向下的箭头,看运行过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值