专栏首页软件测试小助手一篇文章了解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表格读写操作

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

本文分享自微信公众号 - 软件测试小助手(gh_2282fef3410c)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 什么是Python装饰器

    首先解释下什么叫装饰器,所谓装饰器本质是一个python函数,可以在其他函数调用该函数的时候,不修改原代码而添加新的功能,减少代码的复用率,装饰器的返回值也是一...

    小雯子打豆豆
  • 接口自动化测试框架---初学HttpRunner(一)

    最近公司打算通过HttpRunner框架做自动化测试,我也是初学,给大家分享下我的一天的学习成果吧!

    小雯子打豆豆
  • 软件测试成长目录

    这是我的第一篇文章,也是一个对自己未来发展的一个规划,希望自己能够坚持下来,每天进步一点点,加油!

    小雯子打豆豆
  • 38.python print函数

    python中内置函数我们使用的最频繁的莫过于print函数,重helloword开始,我们就一直在接触print,虽然使用简单,不过你真的会玩print函数吗...

    猿说编程[Python和C]
  • 【Python基础】整数与浮点数

    Python中,我们除了要跟代码打交道外,还要处理很多的数字,用来做可视化、记录用户信息等等。所以Python会根据数字的用法,以不同的方式处理他们,常见的类型...

    DataScience
  • Python3基础

    默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下: # -*- ...

    py3study
  • Python3快速入门(二)——Pyth

    默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下: # -*- c...

    py3study
  • Python练习17:依次接收用户输入的

    py3study
  • 【python入门系列课程 第一课 打印一个字符画】

    本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地...

    用户7054460
  • day 15 - 1 内置函数

    字符串类型代码的执行 eval() exec() compile()  [不常用]

    py3study

扫码关注云+社区

领取腾讯云代金券