【python经验总结】我与bug的那些日子

简介: 粗心导致语法错误

一、常见类型

(一)粗心导致语法错误

例如:

  1. 漏了末尾冒号;
  2. 缩进错误;
  3. 英文符号错用为中文符号;
  4. 字符串拼接时,把字符串、数字类型拼接到一起;
  5. 没有定义变量;
  6. == 错用成 =。

(二)知识点不熟练

浅浅的举两个例子吧,毕竟python的语法有那么多:

  1. 索引越界;
  2. append()不按照规定使用。

(三)思路不清晰

有很多看似很牛的项目,只用一个文件,几百行代码就能搞定,堪称高效。但如果你在里面好好的逛了一圈之后就一定会惊呼:“注释都救不了他了!”

(四)被动掉坑

代码逻辑没有错误,只因用户操作不当或意外情况导致程序崩溃。

解决方案:异常处置机制(出现异常及时捕获,内部消化,确保程序运行)

1、基础形式

try:
  ......
  ......
  ......  # 可能出现异常的代码
except xxx:  # 填入可能会报错问题。若无法预知,可以直接使用 excpet:
  ......
  ......
  ......  # 报错后执行的代码

2、拓展模式

try-except-else

若try块中没有抛出异常,则执行else块;若抛出异常,则执行except。

举个整数相除的例子:

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入一个整数:'))
    c = a / b
except BaseException as e:
    print('有错误', e)
else:
    print(c)

try-except-else-finally

若try块中没有抛出异常,则执行else块;若抛出异常,则执行except;无论是否有异常,finally都会执行。

用finally优化一下刚才的程序:

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入一个整数:'))
    c = a / b
except BaseException as m:
    print('有错误', m)
else:
    print(c)
finally:
    print('程序执行完毕!')

二、常见异常类型

image.png

三、Traceback模块的使用

对比起前两个程序,使用Traceback模块明显要

import traceback
try:
    print('----------------------------')
    print(10/0)  # 运行后会报错的
except:
    traceback.print_exc()

相关文章
|
6月前
|
Python
0.1+0.2≠0.3,揭秘Python自带的Bug
0.1+0.2≠0.3,揭秘Python自带的Bug
154 0
0.1+0.2≠0.3,揭秘Python自带的Bug
|
数据采集 编解码 JSON
【Python】bug汇总
【Python】bug汇总
271 0
|
14天前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
54 0
|
4月前
|
监控 程序员 持续交付
`pylint`是一个高度可配置的Python代码分析工具,它可以帮助程序员查找代码中的错误、样式问题、可能的bug以及不符合编码标准的部分。
`pylint`是一个高度可配置的Python代码分析工具,它可以帮助程序员查找代码中的错误、样式问题、可能的bug以及不符合编码标准的部分。
|
11月前
|
Python
python 自带 re bug 推荐使用 regex
python 自带 re bug 推荐使用 regex
58 0
|
Cloud Native Go 开发者
那些年,我们一起追过的Python BUG
那些年,我们一起追过的Python BUG
65 0
|
人工智能 IDE 开发工具
走近Python编程的“BUG”世界
走近Python编程的“BUG”世界
72 0
|
Python
Python Bug分类,及异常处理
Python Bug分类,及异常处理
67 0
|
索引 Python
python基础之字符串、函数、BUG和异常类型介绍及类和对象详细笔记
python基础之字符串、函数、BUG和异常类型介绍及类和对象详细笔记
136 0
|
缓存 Java Python
惊呆了,我的 Python 代码里面出现了薛定谔的 Bug
惊呆了,我的 Python 代码里面出现了薛定谔的 Bug
108 0