零基础入门学习Python(32)--异常处理:你不可能总是对的
知识点
即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在这里:
Python标准异常总结
| 序号 | 异常类型 | 作用 |
|---|---|---|
| 1 | AssertionError |
断言语句(assert)失败 |
| 2 | AttributeError |
尝试访问对象未知的方法或属性 |
| 3 | EOFError |
用户输入文件末尾标志EOF(Ctrl + d) |
| 4 | FloatingPointError |
浮点计算错误 |
| 5 | GeneratorExit |
generator.close()方法被调用的时候 |
| 6 | ImportError |
导入模块失败的时候 |
| 7 | IndexError |
索引超出序列的范围 |
| 8 | KeyError |
字典中查找一个不存在的关键字 |
| 9 | KeyboardInterrupt |
用户输入中断键(Ctrl + c) |
| 10 | MemoryError |
内存溢出(可通过删除对象释放内存) |
| 11 | NameError |
尝试访问一个不存在的变量 |
| 12 | NotImplementedError |
尚未实现的方法 |
| 13 | OSError |
操作系统产生的异常(例如打开一个不存在的文件) |
| 14 | OverflowError |
数值运算超出最大限制 |
| 15 | ReferenceError |
弱引用(weak reference)试图访问一个已经被垃圾回收机制回收的对象 |
| 16 | RuntimeError |
一般的运行时错误 |
| 17 | StopIteration |
迭代器没有更多的值 |
| 18 | SyntaxError |
Python的语法错误 |
| 19 | IndentationError |
缩进错误 |
| 20 | TabError |
Tab和空格混合使用 |
| 21 | SystemError |
Python编译器系统错误 |
| 22 | TypeError |
不同类型数据间的无效操作 |
| 23 | UnboundLocalError |
访问一个未初始化的本地变量(NameError的子类) |
| 24 | UnicodeError |
Unicode相关的错误(ValueError的子类) |
| 25 | UnicodeEncodeError |
Unicode编码时的错误(UnicodeError的子类) |
| 26 | UnicodeDecodeError |
Unicode解码时的错误(UnicodeError的子类) |
| 27 | UnicodeTranslateError |
Unicode转换时的错误(UnicodeError的子类) |
| 28 | ValueError |
传入无效的参数 |
| 29 | ZeroDivisionError |
除数为0 |
Python内置异常内的层次结构
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StopAsyncIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
课后习题
零基础入门学习Python(32)--异常处理:你不可能总是对的的更多相关文章
- 【Python教程】《零基础入门学习Python》(小甲鱼)
[Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 零基础入门学习Python(36)--类和对象:给大家介绍对象
知识点 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前 ...
- 零基础入门学习Python(17)--函数:Python的乐高积木
前言 相信大家小时候都玩过神奇的乐高积木, 只要通过想象力和创造力我们可以拼凑很多神奇的东西,那么随着我们学习的深入,我们编写的Python代码也将日益增加,并且也越来越复杂, 所以呢,我们需要找寻一 ...
- 零基础入门学习Python(33)--异常处理:你不可能总是对的2
知识点 异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 如果你不想在异常发生时结束你的程序,只需 ...
- 零基础入门学习Python(35)--图形用户界面入门:EasyGui
知识点 EasyGui学习文档[超详细中文版] 1. 建议不要在IDLE上运行EasyGui EasyGui是运行在TKinter上并拥有自身的事件循环,而IDLE也是Tkinter写的一个应用程序并 ...
随机推荐
- Douglas-Peucker 轨迹压缩算法
算法的基本思路是: 对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax ,用dmax与限差D相比: 若dmax <D,这条曲线上的中间点全部舍去; ...
- Go JSON嵌套解析失败
//结构体成员变量名首字母要大写,要小写需要用tag,请看范例. //如果没有tag,嵌套时就无法解析属性,解析失败就是空值. type messageRow struct { UserID stri ...
- 贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet
题目传送门 /* 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 */ #include <cstdio> #include <al ...
- Oracle查询使用空间比较大的前15个表
-- 查询使用空间比较大的前15个表 select a.* from( ,2) all_size from dba_segments where SEGMENT_TYPE='TABLE' order ...
- Android Dialogs(4)Dialog事件处理
Passing Events Back to the Dialog's Host When the user touches one of the dialog's action buttons or ...
- domain admin域管理员
当计算机加入到域后,默认将"Domain Admins"组赋予了本地系统管理员的权限.也就是说,在计算机添加到域,成为域的成员主机的过程中,系统将会自动把"Domain ...
- mysql之修改字符编码
目录 统一修改字段编码 修改单个字段编码 修改表字符编码 统一修改字段编码: alter table `tablename` convert to character set utf8; 修改表字符编 ...
- 百度地图对https的支持
在使用百度地图时,如果直接使用其提供的js地址,在通过https的方式请求时,是不支持的 <script type="text/javascript" src="h ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- vue2.0 静态prop和动态prop
动态prop: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...