与许多面向对象一样,python具有异常处理,通过使用try...except来处理异常,而通过raise来引发异常。
异常在 Python
中无处不在;实际上在标准 Python
库中的每个模块都使用了它们,并且 Python
自已会在许多不同的情况下引发它们。例如:
- 使用不存在的字典关键字
将引发 KeyError
异常。
- 搜索列表中不存在的值 将引发
ValueError
异常。
- 调用不存在的方法 将引发
AttributeError
异常。
- 引用不存在的变量
将引发 NameError
异常。
- 未强制转换就混用数据类型
将引发 TypeError
异常。
然而,一个异常不一定会引起程序的完全崩溃。当异常引发时,可以被 处理
掉。有时候一个异常实际是因为代码中的 bug
(比如使用一个不存在的变量),但是许多时候,一个异常是可以预计的。如果你打开一个文件,它可能不存在。如果你连接一个数据库,它可能不可连接或没有访问所需的正确的安全证书。如果知道一行代码可能会引发异常,你应该使用一个
try...except
块来处理异常。下面是一个异常处理的例子:
try:
fsock = open("/notthere")
except IOError:
print "The file does not exist, exiting gracefully"
print "This line will always print"
除了处理实际的错误条件之外,对于异常还有许多其它的用处。在标准 Python
库中一个普通的用法就是试着导入一个模块,然后检查是否它能使用。导入一个并不存在的模块将引发一个 ImportError
异常。可以使用这种方法来定义多级别的功能,依靠在运行时哪个模块是有效的,或支持多种平台
(即平台特定代码被分离到不同的模块中)。例如:
try:
import termios, TERMIOS
except ImportError:
try:
import msvcrt
except ImportError:
try:
from EasyDialogs import AskPassword
except ImportError:
getpass = default_getpass
else:
getpass = AskPassword
else:
getpass = win_getpass
else:
getpass = unix_getpass
要是想了解更多的关于异常处理的东西,可以阅读
Python
Library Reference。
分享到:
相关推荐
刚开始学习python很不容易理解,python在线教学中异常处理
python的异常处理,异常捕获,try:except:else:finally:
Python常见异常处理 精品课件----Python常见异常处理全文共71页,当前为第1页。 理解 掌握 掌握 掌握 学习目标 理解异常的概念 1 2 掌握处理异常的几种方式 掌握raise和assert语句,会抛出自定义的异常 3 4 掌握with...
已学习Python语句的顺序结构和条件分支结构和循环结构,一般程序都可编写,可以学习异常处理这个概念,来对程序编写过程中遇到的问题进行处理,并提高编程技能。 不足之处是对前面所学的知识掌握不够扎实。下图是对...
python中的异常使用继承结构创建,可以在异常处理程序中捕获基类异常,也可以捕获各种子类异常,python中使用try…except语句捕获异常,异常子句定义在try子句后面。 Python中的异常处理 异常处理的语句结构 try:...
Python 异常处理
简单介绍Python中的错误和异常,重点介绍Python中的异常处理机制,包括主要的关键字:try、except、finally、else等,以及它们组合使用时程序执行的流程等,非常适合高校老师教学和学生课后复习使用。
什么是异常处理?什么情况下会发生异常?了解常见异常类,异常处理的语句,try ... except,多个except语句和一个except块
为了满足这一需要,第8章介绍了Python中异常处理的突出特点。第9章介绍了通过文件处理的数据持久性。由于正则表达式在模式匹配中的广泛应用,第10章将完全用于理解Python中的正则表达式。第11章总结了
异常处理 1. try....except结构 语法格式: try: try语句块 #被监控的语句 except内建异常类名: except语句块 #处理异常的语句 异常处理 实例:使用try....except结构编写异常处理的程序,并输出结果。 具体实现: ...
首先,Python 完整的异常处理语法结构如下: try: #业务实现代码 except Exception1 as e: #异常处理块1 ... except Exception2 as e: #异常处理块2 ... #可以有多个 except ... else: #正常处理块 finally :...
在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,” 然后跟着异常类型 import traceback try: 1/0 except Exception , err: print err 在python3.x中,异常是这样处理的,基类通过关键 词”...
Python异常处理函数和模块学习教案.pptx
13.1 Python中异常的捕获与处理.mp4
把可能出现问题的代码,放在try中 把处理异常的代码,放在except中 把必须要执行的代码,放在finally 》》 例如关闭文件流操作
jmu-python-字符串异常处理.txt
本文档内容主要探讨 Python 中的异常处理。我们将讨论 try/except,除此之外,我们将学习如何定义自己的 python 异常。 使用 try/except 处理异常 使用 try/except 处理多个异常 try/except 中的 raise 关键字 ...
首先本项目的数据来源于参加的数学建模比赛官方C题提供的相关数据,由于在进行建模和数据分析时,发现预处理的数据存在随机异常性、离散性等不利于模型分析的性质,所以使用了拉依达准则对数据进行处理,而python的...
如果这些错误得不到正确的处理将会导致程序终止运行,所以本结需要学习Python强大的异常处理机制,合理地使用异常处理可以使程序更加健壮,具有更强的容错性,不会因为错误地输入或运行时遇到的问题而造成程序终止。...
Python 异常处理、异常名称及实例