在写一个比较完整的管理系统中,前前后后出现了许多的bug,而发现其中有着许多是出现过的错误,但是还是会出现问题,但是在修改的过程中,写着写着内容就被大改了,发现是因为一处的问题会关联到整个系统,从而导致修改bug无比困难,甚至难度大于重新去写,因此,今天在这里做下记录,可以留下内容以供自己可以经常回顾。
发现之前的自己和现在的自己针对这些异常和bug的认识也是到达了另一个阶段
首先,把bug分一下类。
我将我遇到的大多数总结出来。
1.语法错误(异常)
语法错误是一个常见的问题,比如使用函数的方法与实际想要的方法不同(因为内部参数不同等等),因为驴头不对马嘴,所以肯定是错的。
def multiply_numbers(a, b):
result = a + b
# 调用函数
result = multiply_numbers(5, "10")
# 上式就很明显是错误的,10的传入方式是错误的,应当是如下方式。
result = multiply_numbers(5, 10)
2.逻辑有误(bug)
代码的逻辑与人的逻辑不一致,导致程序运行结果与预期相悖。
for i in range(5):
print(i)
if i == 3:
break
在这个示例中,循环在 i
等于 3 时使用 break
语句提前终止。然而,这并不是预期的结果,因为它没有完成整个循环。
修改后的循环结构是:
for i in range(5):
if i!= 3:
print(i)
在这个修改后的示例中,只有当 i
不等于 3 时才执行打印操作,从而实现了预期的循环行为。
3.数据处理错误(异常)
我将其分为两类,分别是:外部数据、内部数据
外部数据是:非本文件的数据,即从其他文件读取而出的数据
内部数据是:在本文件中已经存在的数据,无需从外部引入
通常对数据的操作需要考虑数据的类型,比如它的数据容器是列表,就不可以使用其他数据容器的操作方法。
而这只是内部数据的操作,外部数据多了一步操作,需要把外部数据从外部引入到内部,然后在引入的过程中编码格式可能会出问题,如乱码等,不过记住外部数据的读取需要使用固定的编码格式,同样把内部数据存储到外部也需要进行类似的操作。
list_1 = [1, 2, 3]
# 读取数据到内部
with open("data", "r", encoding='utf-8') as f:
a = f.read()
# 写入数据到外部
with open("data", "w", encoding='utf-8') as c:
# 注意写入文件的是字符串
write(str(list_1))
4.pycharm中不存在的库需要导入(异常)
比如使用外部的库如PySimpleGUi,就需要在终端中导入该库
还可以去获取已存在该库的python解释器,还可以通过pycharm的设置找到python的解释器,然后去点击➕install
5.配置错误(异常)
最明显的就是,python的解释器配置错误,没有配置到pycharm中。
然后就是文件的路径错误等,还有一个是IP的静态地址配置错误,当配置错误就无法使用。