专栏首页软件测试小助手一篇文章了解python常见内置异常报错

一篇文章了解python常见内置异常报错

我们在写python程序的时候经常会遇到一些报错信息(异常),有一些可能是人为进行的定义,有一些则是python内置的一些异常信息,接下来我们来了解一下这些常见的异常一些,也能够在我们遇到问题的时候能够更好更快的定位到问题。

SyntaxError

SyntaxError是非常常见的一种问题,一般我们也能很快看出来,这是python的语法错误,是指我们写的代码语法错了,一般的编译工具也会给出错误提示,很好定位并改正。

if 5>2;
print(True)
---------------------------------------------
>>>    if 5>2;
>>>          ^
>>>SyntaxError: invalid syntax

NameError

NameError是指某个变量在python中未进行定义错误,所以代码无法识别出这个变量是什么,就好比每个人都需要有户口,身份证一样,否则别人不能够明确认识到你。

print(a)
------------------------------------------------
>>>    print(a)
>>>NameError: name 'a' is not defined

TypeError

类型错误,python有几种基础的数据类型,每种类型有各自的一些特殊用法,不能够张冠李戴,在使用某种方法的时候,注意这种数据类型是否支持。

a = '123'
print(a+1)
-----------------------------------------------------
>>>    print(a+1)
>>>TypeError: must be str, not int
IndentationError缩进错误,严格意义来说这也属于语法错误的一种,但是比较常见,pyhon不同于java,语法格式需要缩进空格,缩进空格字符不对应则会报这个错误。
if 5>2:
print(True)
--------------------------------------------
>>>    print(True)
        ^
>>>IndentationError: expected an indented block

IndexError

索引错误,经常可能出现我们在读取列表某个下标的元素的时候发生的一些错误。例如如下,索引最大为3,此时索引为3,则数组超标的错误。

list1 = ['a','b',3]
print(list1[3])
--------------------------------------------
>>>    print(list1[3])
>>>IndexError: list index out of range

FileNotFoundError

找不到文件错误,即当我们读取或者操作某文件时,我们定义的路径下并没有此文件。

f = open(r'E:\Python\selenium\readmine.txt','r')
-------------------------------------------------
>>>    f = open(r'E:\Python\selenium\readmine.txt','r')
>>>FileNotFoundError: [Errno 2] No such file or directory: 'E:\\Python\\selenium\\readmine.txt'
ModuleNotFoundError

导包错误,导入一个不存在的包。

import oss
----------------------------------------------
>>>    import oss
>>>ModuleNotFoundError: No module named 'oss'

KeyError

映射中键错误,例如一个字段,读取一个不存在的key。

dict1 = {'a':1,'b':2}
print(dict1['c'])
---------------------------------------------
>>>    print(dict1['c'])
>>>KeyError: 'c'

ValueError

映射中值错误,调用一个不存在的值。

str1 = 'abcde'
print(str1.index('f'))
-----------------------------------------------------
>>>    print(str1.index('f'))
>>>ValueError: substring not found

AttributeError

属性错误,调用对象不存在的一个方法属性时将报这个错误。

str1 = 'abcde'
print(str1.append('f'))
----------------------------------------------------
>>>    print(str1.append('f'))
>>>AttributeError: 'str' object has no attribute 'append'

UnicodeDecodeError

解码错误,这种错误经常在读取文件时报错。

f = open(r'./readmine.txt','r',encoding='gbk')
print(f.readlines())
-----------------------------------------------
>>>    print(f.readlines())
>>>UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 14: illegal multibyte sequence

历史文章推荐:

软件测试工程师应该被尊重!

API测试| 了解API接口测试| API接口测试指南

Fiddler工作原理

python中常见关于Excel表格读写操作

遇到一个新项目怎么办,不要慌,乘风破浪!

文章分享自微信公众号:
软件测试小助手

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

如有侵权,请联系 yunjia_community@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 一篇文章带你快速了解并使用Python变量与常量

    这里有一点需要注意的是,在python中是不需要声明类型的。这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型。

    汤贤
  • 零基础学习 Python 之错误 & 异常

    从今天开始一个新的篇章又要开始了,这次要写的「错误 & 异常」知识点比较少,不像「类」那样知识点那么多,所以稍微好过一点。

    编程文青李狗蛋
  • python编码的意义

    当你用python打开一篇中文文档,准备读取里面的数据开始实验... 当你处理好你的数据,打算打印出易于阅读的结果给boss检查... 甚至当你刚刚开始编写自己...

    py3study
  • 【愚公系列】2021年12月 Python教学课程 18-异常处理

    在程序运行过程中,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。还有一些错误,则是不可预料的错误,但是...

    愚公搬代码
  • 干货 | 一篇文章将思科路由器、交换机的常见配置讲完了,果断收藏!

    VLAN技术:把物理上直接相连的网络从逻辑上划分为多个子网。每一个VLAN对应着一个广播域,处于不同VLAN上的主机不能直接进行通信,不同VLAN之间的...

    网络技术联盟站
  • 深度辨析 Python 的 eval() 与 exec()

    Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个。

    Python猫
  • Python 编码转换与中文处理

    python 中的 unicode是让人很困惑、比较难以理解的问题. 这篇文章 写的比较好,utf-8是 unicode的一种实现方式,unicode、gb...

    bear_fish
  • 深度辨析 Python 的 eval() 与 exec()

    Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个。

    Python猫
  • Python程序员最常犯的10个错误,你中招了吗?

    大数据文摘
  • python基础篇(二十五)——总结

      我们通过二十四篇文章将Python的基本知识点以及对于初学者来说一些容易混淆的知识点。为了让初学者更好的学习Python的基础知识,我们通过这篇文章将其做一...

    一计之长
  • 附书单|学Python听什么课,看什么书

    大家好,在之前的文章中我们已经解决了新手朋友们在初学Python的路上的两个常见问题:IDE怎么选、报错怎么办,今天本文再聊一下另一个常见话题:要不要买课、听什...

    刘早起
  • 数据分析从业者必看!10 个加速 python 数据分析的简易小技巧

    AI 开发者按,一些小的技巧在编程领域可能会非常有用,在数据科学领域同样如此。数据科学爱好者 Parul Pandey 在近日发表了一篇博文,分享了在数据科学中...

    AI研习社
  • python异常报错详解

    这篇文章虽然篇幅有点长,但这不并是一篇关于Python异常的全面介绍的文章,只是在学习Python异常后的一篇笔记式的记录和平时写代码过程中遇到异常记录性的文章...

    PM小王
  • 左手用R右手Python系列——异常捕获与容错处理

    一套稳健的代码体系,必须能够包容所有可能出现的错误情况并做出针对性处理,要想达到这个目标,务必要对异常捕获与容错处理有深入的了解和认识。 秉着初学者入门探索的...

    数据小磨坊
  • 深度辨析 Python 的 eval() 与 exec()

    Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个。

    程序员小新
  • Python 中 -m 的典型用法、原理解析与发展演变

    在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下:

    Python猫
  • Python进阶|聊聊异常处理

    在编写代码中,总会遇到一些bug和报错,怎么去捕获这些异常,并进行处理,以让程序更健硕了?本篇文章将带你聊聊Python的异常处理。

    罗罗攀
  • Python程序员经常犯的10个错误,这些坑你踩过吗?

    Python是一种解释性、面向对象并具有动态语义的高级程序语言。它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得它在快速应用开发中非常有吸引力,并...

    程序员迪迪

扫码关注云+社区

领取腾讯云代金券