一篇文章了解python常见内置异常报错
时间:2022-07-24
本文章向大家介绍一篇文章了解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:Pythonseleniumreadmine.txt','r')
-------------------------------------------------
>>> f = open(r'E:Pythonseleniumreadmine.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
历史文章推荐:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 线上发生死锁异常了,该怎么办
- jQuery 元素操作
- jQuery 文本属性值
- jQuery 属性操作
- 方老师聊Nginx知识点
- 《Java从入门到失业》第五章:继承与多态(5.1-5.7):继承
- 【赵渝强老师】Flink的DataSet算子
- Node.js 案发现场揭秘 —— 文件句柄泄露导致进程假死
- nacos配置问题
- Chevereto 配合 Picgo 打造个人相册/图床解决方案
- 从提高 Elasticsearch 搜索体验说开去......
- 又一个奇葩要求,Python是如何将“中文”转“拼音”的?
- localStorage中怎么存对象?
- vue中sessionStorage的使用
- 别再问我 Python 怎么识别数字验证码了!