- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一篇文章带你弄懂Python特别简介和案例分析
一、特别简介
当Python检测到一个错误时,解释器就无法连续执行了,反而消灭了一些错误的提示,这就是所谓的特别。
二、案例分析
? 打开一个不存在的文件123.txt,当找不到123.txt 文件时,就会抛出给我们一个IOError类型的错误,No such file or directory:123.txt (没有123.txt这样的文件或名目)。
print-----test--1---
open(123.txt,r)
print -----test--2---
运转结果:
1捕获特别 try...except...
例:
try:
print(-----test--1---)
open(123.txt,r)
print(-----test--2---)
except IOError:
pass
运转结果:
说 明 :
此程序看不到任何错误,由于用except 捕获到了IOError特别,并添加了处理的方法。
pass 表示实现了相应的实现,但什么也不做;假如把pass改为print语句,那么就会输出其他信息。
小总结 :
把可能消灭问题的代码,放在try中。
把处理特别的代码,放在except中。
2 except捕获多个特别
例 :
try:
print(num)
except IOError:
print(产生错误了)
运转结果 :
想一想:
上例程序,已经使用except来捕获特别了,为什么还会看到错误的信息提示?
答:
except捕获的错误类型是IOError,而此时程序产生的特别为 NameError ,所以except没有生效。
修改后的代码为 :
try:
print(num)
except NameError:
print(产生错误了)
运转结果
实际开发中,捕获多个特别的方式,如下:
#coding=utf-8
try:
print(-----test--1---)
open(123.txt,r) # 假如123.txt文件不存在,那么会产生 IOError 特别
print(-----test--2---)
print(num)# 假如num变量没有定义,那么会产生 NameError 特别
except (IOError,NameError):
#假如想通过一次except捕获到多个特别可以用一个元组的方式
留意:
当捕获多个特别时,可以把要捕获的特别的名字,放到except 后,并使用元组的方式仅进行存储。
3猎取特别的信息描述
try:
open(a.txt)
except(NameError,IOError) as result:
print(捕抓到特别)
print(信息呈现:,result)
运转结果:
4捕获全部特别
try:
open(a.txt)
except Exception as result:
print(捕抓到特别)
print(信息呈现:,result)
运转结果:
5 else
我们应当对else并不生疏,在if中,它的作用是当条件不满足时执行的实行;同样在try...except...中也是如此,即假如没有捕获到特别,那么就执行else中的事情。
try:
num = 100
print(num)
except NameError as errorMsg:
print(产生错误了:%s % errorMsg)
else:
print(没有捕获到特别,真兴奋)
运转结果如下:
6 try...finally...
? try...finally...语句用来表达这样的情况:
在程序中,假如一个段代码必需要执行,即无论特别能否产生都要执行,那么此时就需要使用finally。比如文件关闭,释放锁,把数据库连接返还给连接池等。
demo:
import time
try:
f = open(test.txt)
try:
while True:
content = f.readline()
if len(content) == 0:
break
time.sleep(2)
print(content)
except:
#假如在读取文件的过程中,产生了特别,那么就会捕获到
#比如 按下了 ctrl+c
pass
final
文档评论(0)