`
- 浏览:
254219 次
- 性别:
- 来自:
未定
-
python2.x学习笔记(12) -- 错误和异常
1. 当 Python 检测到一个错误时, 解释器就会指出当前流已经无法继续执行下去. 这时候就出现了异常.
2. 对异常的最好描述是: 它是因为程序出现了错误而在正常控制流以外采取的行为. 这个行为又分为两个阶段: 首先是引起异常发生的错误, 然后是检测(和采取可能的措施)阶段.
3. Python 内建异常
BaseException 所有异常的基类
SystemExit python 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
SystemExit Python 解释器请求退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达 EOF 标记
EnvironmentErrord 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
WindowsError Windows 系统调用失败
ImportError 导入模块/对象失败
KeyboardInterrupt 用户中断执行(通常是输入^C)
LookupError 无效数据查询的基类
IndexError 序列中没有没有此索引(index)
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于 Python 解释器不是致命的)
NameError 未声明/初始化对象 (没有属性)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
IndentationError 缩进错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
TypeError 对类型无效的操作
ValueError 传入无效的参数
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
4. 检测和处理异常
try 语句有两种主要形式: try-except 和 try-finally . 这两个语句是互斥的, 也就是说你只能使用其中的一种. 一个try语句可以对应一个或多个except子句, 但只能对应一个finally 子句, 或是一个 try-except-finally 复合语句.
5. try-except 语句
try:
try_suite # watch for exceptions here 监控这里的异常
except Exception[, reason]:
except_suite # exception-handling code 异常处理代码
在一个 except 子句里处理多个异常.
except (Exc1[, Exc2[, ... ExcN]])[, reason]:
suite_for_exceptions_Exc1_to_ExcN
6. 捕获所有异常
如果查询异常继承的树结构, 我们会发现 Exception 是在最顶层的
try:
#...
except Exception, e:
# error occurred, log 'e', etc.
- BaseException
|- KeyboardInterrupt
|- SystemExit
|- Exception
|- (all other current built-in exceptions) 所有当前内建异常
7. 上下文管理
另一个隐藏低层次的抽象的例子是 with 语句,它在 Python 2.6 中正式启用.(Python2.5 尝试性的引入了 with, 并对使用 with 作为标识符的应用程序发出这样的警告 - 在 Python 2.6 中,with将会成为关键字. 如果你想在 Python 2.5 使用 with 语句, 你必须用 from __future__ importwith_statement 来导入它.)
with open('/etc/passwd', 'r') as f:
for eachLine in f:
# ...do stuff with eachLine or f...
8. 触发异常
raise [SomeException [, args [, traceback]]]
9. 断言语句等价于这样的 Python 表达式,如果断言成功不采取任何措施(类似语句),否则触发AssertionError(断言错误)的异常.assert 的语法如下:
ssert expression[, arguments]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
opencv-python 3.4.1.15 opencv-contrib-python 3.4.1.15 win64版,opencv-python 3.4.1.15 opencv-contrib-python 3.4.1.15,支持版本:python3.4,3.5,3.6
原来是通过命令行下载的docx安装包还没有完全兼容python3,估计这个安装包还只兼容python 2(python2 和python3差别还是挺大的,虽然现在python 3出来很久了,但是不少三方库还没有更新),因此需要自己找一个兼容的包...
1.安装python和mysql 这里就不多介绍了,很简单 2.安装setuptools ...3.下载编译版本 MySQL-python-1.2.3.win-amd64-py2.7.exe 双击安装 4.可以测试了 5.如果出错了,注意看下提示什么错误 直接解压就可以了~
收集了很久的Window64位Python扩展包,是python的开发必备,列表如下,pycrypto-2.6.win64-py2.7\pywin32-216.win64-py2.7\PyYAML-3.10.win64-py2.7\pyzmq-2.1.11.win64-py2.7\MySQL-python-1.2.3.win64-py2.7\...
opencv_python-4.5.5.62-cp36-abi3-win_amd64.whl 适用关于64位Windows系统
用于访问GarminConnectHealthAPI的Python3.x库-Python-Makefile-下载
python模块:dlib 版本号:19.24.1 适用平台:windows x64 适用python版本:3.11系列 安装方式:pip install dlib-19.24.1-cp311-cp311-win_amd64.whl
资源分类:Python库 所属语言:Python 资源全名:PyQt5_sip-12.8.1-cp37-cp37m-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Python-3.4.0.tar.xz Python-3.4.1.tar.xz Python-3.4.2.tar.xz Python-3.4.3.tar.xz Python-3.4.4.tar.xz Python-3.4.5.tar.xz Python-3.4.6.tar.xz Python-3.4.7.tar.xz Python-3.4.8.tar.xz Python-3.4.9.tar.xz ...
下载DjangoUeditor,发现不支持Python3.x,经过修改,在Python2.X(测试环境为Python2.6.6 + django-1.6.5 和Python2.7.8 + django-1.6.5)和Python3.X(测试环境为Python3.4.1 + django-1.6.5)下完美支持 下载...
python官网下载的python3.10.11,包含以下python安装包: Gzipped source tarball XZ compressed source tarball macos 64-bit universal2 installer Windows embeddable package (32-bit) Windows embeddable ...
Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf ...
树莓派安装opencv跳坑指南(pip安装,免源码编译),必备软件 在树莓派上安装opencv-Python用sudo pip install opencv-python命令总是安装不上,显示错误说网页上找不到源文件
统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于...
PIP20.0.2安装包 适用于python2.x and python3.x 命令:pip install pip-20.0.2-py2.py3-none-any.whl
第2章 Python环境安装;第3章 理解什么是写代码与Python的基本类型;第4章 Python中表示“组”的概念与定义;第5章 变量与运算符;第6章 分支、循环、条件与枚举;第7章 包、模块、函数与变量作用域;第8章 Python...
下载编译好的含有bz2的so文件 将_bz2.cpython-37m-x86_64-linux-gnu.so放到对应的python3.7文件夹里…/python3.7/lib-dynload/下 测试: python3 import bz2
2010-09-07 12:43 220,160 boost_python-vc90-mt-1_44.dll 2010-09-07 12:43 189,272 boost_python-vc90-mt-1_44.lib 2010-09-07 12:43 514,048 boost_python-vc90-mt-gyd-1_44.dll 2010-09-07 12:43 190,964 boost_...
用于Python3.x版本的opencv3.4,opencv_python-3.4.0.12-cp36-cp36m-win_amd64.whl