前言

我们知道,在Python中,我们是用try- -excetp- - 来做异常处理的,但Python 有别于其他语法的是在异常处理中还提供了else的处理场景,是的,你没看错,就是在条件判断if- -else- - 中的else,那我们接下来就来看看在异常处理中else有什么作用。

else 作用场景

1.else 是在没有捕捉到异常情况下触发。
如果希望在程序一切正常,没有触发任何异常的情况下做些处理,可以用else,示例如下:

>>> def div():
... try:
... x = int(input('firsut num:'))
... y = int(input('second num:'))
... print(x/y)
... except:
... print('error')
... else:
... print('it is ok')
...
>>> div()
firsut num:2
second num:1
2.0
it is ok

1.finally 与try联合使用 ,不管异常有没有触发,都会执行finally 语句块的内容。

>>> def div():
... try:
... x = int(input('firsut num:'))
... y = int(input('second num:'))
... print(x/y)
... except:
... print('error')
... else:
... print('it is ok')
... finally:
... print('it is finally')
...
>>> div()
firsut num:2
second num:1
2.0
it is ok
it is finally # 出现异常的情况
>>> div()
firsut num:1
second num:0
error
it is finally

从上面的例子可以看出,当没有捕获到异常时,else会执行,当捕获到异常时,else就不会执行,finally不管异常有没有触发,都会执行。

Python 异常处理中的 esle的更多相关文章

  1. python虚拟机中的异常流控制

    异常:对程序运行中的非正常情况进行抽象.并且提供相应的语法结构和语义元素,使得程序员能够通过这些语法结构和语义元素来方便地描述异常发生时的行为. 1.Python中的异常机制: 1.1Python虚拟 ...

  2. python异常处理[转]

    #!/usr/bin/python import tracebacktry: 1/0#except Exception,e:# print traceback.format_exc()  except ...

  3. python异常处理(基础)

    之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...

  4. Python异常处理 分类: python Raspberry Pi 服务器搭建 2015-04-01 13:22 172人阅读 评论(0) 收藏

    一个程序要保持稳定运行必须要有异常处理,本文将简单介绍Python中的try-except..异常处理语句的使用. 该种异常处理语法的规则是: 执行try下的语句,如果引发异常,则执行过程会跳到第一个 ...

  5. Python 异常处理--raise函数用法

    raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]] ...

  6. python异常处理try,except,else,finally,raise

    先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...

  7. Python异常处理体系

    1.Python内建异常体系结构 The class hierarchy for built-in exceptions is: BaseException  +-- SystemExit  +-- ...

  8. Python 异常处理

    Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...

  9. python异常处理和断言

    http://blog.csdn.net/pipisorry/article/details/21841883 关于异常处理有必要么的讨论 最重要的问题是你在开发过程中隐藏了bug,如果当时你没加这个 ...

随机推荐

  1. selector.xml的使用

    TextView: <TextView android:id="@+id/resetfragment_btn" app:layout_constraintTop_toBott ...

  2. jquery预加载的几种例子

    实际编写前端页面时,有时候希望一打开某个页面就加载一些方法.下面是4种预加载方法. ①页面加载完之前执行,与嵌入的js加载方式一样(写jquery插件的时候使用) (function ($) { al ...

  3. c语言中,为什么以下程序直接按”Enter“也就是回车程序不结束?

    /************************************************************************* > File Name: system.c ...

  4. 绿洲作业第二周 - Y3每日中文学习任务清单

    1. 本周仍是古诗学习周,老师已在“最美诵读”上布置本周需完成的任务,请孩子在“最美诵读”小程序中,结合老师发的学习任务清单,合理安排时间进行学习.如果孩子另有学习安排,可在周日(2.23)23:59 ...

  5. 绿洲作业第二周 - 周二music work 音乐

    Please kindly find the music work from Ms. Sophie. 1.请跟随附件中老师录制的视频进行学习和练习.(附件有带拼音的乐谱供KS1和外国学生使用) htt ...

  6. office 无法打开xlsx文件的问题

    1. 设置content-type和header response.setContentType("application/vnd.openxmlformats-officedocument ...

  7. [SDOI2019]染色(DP)

    好神的题啊! 看了这题只会第一个subtask,又参考了HN-CJ鸽王zsy的题解,实在太菜了. 暴力转移是O(nc2),很显然没有分.考虑子任务1,2,只需要转移包含已染色格子的列,然后状态数只有O ...

  8. 拿到新linux服务器,从配置环境到跑起项目的部署流程

    今早翻开手机看到某云一条广告Linux1 核 2 GB 1 Mbps服务器10元一个月,正巧最近在搞linux,于是下单了一台2个月20. 上班来到公司后,借空闲时间一顿研究,一波骚操作配置后,浏览器 ...

  9. 添加新硬盘,扩展Centos7根分区

    ##背景介绍,系统安装时,分配的硬盘容量太小,根分区空间不够用,现添加一个新硬盘,通过以下步骤来扩展centos7根分区 [root@t201 ~]# df -h 文件系统 容量 已用 可用 已用% ...

  10. appium自动化的工作原理(1)

    用appium开发移动端自动化测试脚本这么长时间,还没有认证的了解下它的原理是什么,到底是如何实现的呢? 1.先看一个Appium加载的过程图解(来自:了解appium自动化的工作原理--https: ...