• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python中的五种异常处理机制介绍

python中的五种异常处理机制介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python 异常处理,python3 异常处理,python 异常值处理,python中的异常处理,python 抛出异常等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。

《Dive into Python》并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下。今天下载《Learn Python》,直接进异常处理这块。这一部分有四章,第一章讲解异常处理的一般使用方法,后面的章节深入地讨论其机制。我目前只看了第一章,先学会用,以后有必要的时候再扩展阅读。

python主要支持五种异常机制,一一列举。

默认的异常处理器

s = 'Hello girl!'
print s[100]
print 'continue'
</div>

如果我们没有对异常进行任何预防,那么在程序执行的过程中发生异常,就会中断程序,调用python默认的异常处理器,并在终端输出异常信息。这种情况下,第3行代码不会执行。

try…except

s = 'Hello girl!'
try:
 print s[100]
except IndexError:
 print 'error...'
print 'continue'
</div>

程序执行到第2句时发现try语句,进入try语句块执行,发生异常,回到try语句层,寻找后面是否有except语句。找到except语句后,会调用这个自定义的异常处理器。except将异常处理完毕后,程序继续往下执行。这种情况下,最后两个print语句都会执行。

except后面也可以为空,表示捕获任何类型的异常。

try…finally

s = 'Hello girl!'
try:
 print s[100]
finally:
 print 'error...'
print 'continue'
</div>

finally语句表示,无论异常发生与否,finally中的语句都要执行。但是,由于没有except处理器,finally执行完毕后程序便中断。这种情况下,倒第2个print会执行,到第1个不会执行。如果try语句中没有异常,三个print都会执行。

assert

assert False,'error...'
print 'continue'
</div>

这个语句,先判断assert后面紧跟的语句是True还是False,如果是True则继续执行print,如果是False则中断程序,调用默认的异常处理器,同时输出assert语句逗号后面的提示信息。本例情况下,程序中断,提示error,后面的print不执行。

with…as

with open('nothing.txt','r') as f:
 f.read()
 print 2/0
print 'continue'
</div>

我们平时在使用类似文件的流对象时,使用完毕后要调用close方法关闭,很麻烦。这里with…as语句提供了一个非常方便的替代方法:open打开文件后将返回的文件流对象赋值给f,然后在with语句块中使用。with语句块完毕之后,会隐藏地自动关闭文件。

如果with语句或语句块中发生异常,会调用默认的异常处理器处理,但文件还是会正常关闭。

这种情况下,会抛出异常,最后的print不执行。

书中介绍的很详细,除了上面我提到的之外,还有很多有用的附加信息,比如try..except..finally..else可以连用,比如自定义异常类。这里不再列出,详情可以参考这本书中的介绍。

</div>

您可能想查找下面的文章:

  • python中异常报错处理方法汇总
  • Python编程中的异常处理教程
  • python中的五种异常处理机制介绍
  • python进阶教程之异常处理
  • python中的五种异常处理机制介绍
  • Python异常处理总结
  • Python异常处理总结
  • Python 异常处理实例详解

相关文章

  • Python中属性和描述符的正确使用
  • python统计文本字符串里单词出现频率的方法
  • Python文件操作,open读写文件,追加文本内容实例
  • Python语法快速入门指南
  • Python单例模式实例分析
  • Python3.6正式版新特性预览
  • 小结Python用fork来创建子进程注意事项
  • Python减少循环层次和缩进的技巧分析
  • Python函数式编程指南(一):函数式编程概述
  • Python中优化NumPy包使用性能的教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python的Bottle框架中返回静态文件和JSON对象的方法
    • Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
    • Python pip安装lxml出错的问题解决办法
    • pytyon 带有重复的全排列
    • pygame加载中文名mp3文件出现error
    • python登陆asp网站页面的实现代码
    • Python中json格式数据的编码与解码方法详解
    • python字典基本操作实例分析
    • Python 抓取动态网页内容方案详解
    • python模块之StringIO使用示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有