python主要支持五种异常机制,分别举例。

默认的异常处理器s = 'Hello girl!'

print s[100]

print 'continue'

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

try…excepts = 'Hello girl!'

try:

print s[100]

except IndexError:

print 'error...'

print 'continue'

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

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

try…finallys = 'Hello girl!'

try:

print s[100]

finally:

print 'error...'

print 'continue'

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

with…aswith open('nothing.txt','r') as f:

f.read()

print 2/0

print 'continue'

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

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

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

python如何处理异常_python如何进行异常处理相关推荐

  1. python如何处理异常退出_python异常处理

    一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: inva ...

  2. python 处理异常_Python异常处理– Python尝试除外

    python 处理异常 In our previous tutorial, we discussed about Python Directory. In this tutorial, we are ...

  3. python 打开本地程序发生异常_Python中的异常处理

    Python中的异常事件: 当Python遇到无法正常处理的事件时,便是异常发生的时候,Python将异常也当作一个对象,尽管他是出错的.当发生异常时候我们要捕获他,否则程序就会中断运行. Pytho ...

  4. python 处理异常_Python异常处理:

    python 处理异常 While the try and except block are for handling exceptions, the raise keyword on the con ...

  5. python打印异常_python异常输出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...

  6. python类型转换异常_python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换...

    python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...

  7. python入门程序异常_Python 入门 之 异常处理

    1.异常处理 (1)程序中的错误分为两种 <1> 语法错误 (这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正) # 语法错误示范 print(111 [1;2;3 ...

  8. python下标越界异常_python异常处理

    异常处理 程序错误分为两种:语法错误 和 异常错误 语法错误:代码没有按照python规定语法去写,发明创造产生的错误 异常错误:在代码语法正确的前提下,程序报错就是异常 基础语法:try...exc ...

  9. python如何处理异常,让程序不结束继续运行?

    下面有两种解决方法,第一种是类似if-else-:另外一种是使用语句来实现继续执行: 方法一:使用try-except-语句,类似于if-else-,可以跳过异常继续执行程序,这是Python的优势 ...

最新文章

  1. Python3将xml文件解析为Python对象
  2. JZOJ 5643. 【NOI2018模拟4.10】最小代价
  3. QT的QPainterPath类的使用
  4. WPF基础知识学习笔记(一)XAML基础
  5. 原来C语言和其他高级语言的最大的区别是这个...
  6. emp3r0r - Linux下的进程注入和持久化(初级)
  7. rust怎么上邮轮_20年内泰坦尼克号将消失 英公司推三千米沉船之旅
  8. 关系型数据库和非关系型数据库的区别
  9. SCOM 2012 R2监控Microsoft Azure服务(2)配置Azure监控
  10. css定位position,absolute relative两种情况下,top,left,right,bottom的区别
  11. c++除法保留小数_BigDecimal 加减乘除、保留小位数
  12. SPSS 相关与回归小结(图文+数据集)【SPSS 026期】
  13. 风变科技公司的python小课_风变编程Python小课最近很火,大家学完感受如何?
  14. gitup上传的坑 ! [rejected] master -> dev-gaochao (fetch first)......
  15. Java 案例:珠穆朗玛峰的高度
  16. python和java哪个好薪资高-Java和Python哪个薪资更高?
  17. 【Java】JDK目录介绍
  18. 石油公路工程都在用的光纤测试仪是什么型号
  19. PyTorch 1.0 中文文档:torch.utils.model_zoo
  20. layUI 表格中1:0转换成男女 if else数字转对应中文显示

热门文章

  1. Unity从零开始构建能力体系 Unity Ability System
  2. 云服务中IaaS、PaaS、SaaS的区别
  3. linux history记录格式修改
  4. Luogu 2470 [SCOI2007]压缩
  5. 高阶函数-lambda表达式
  6. 几个不错的开源的.net界面控件
  7. [转]Ext Grid控件的配置与方法
  8. MYSQL修改配置,允许远程访问
  9. Linux网络编程必看书籍推荐
  10. asp.net2.0导出pdf文件完美解决方案【月儿原创】