Python 异常处理中的 esle
前言
我们知道,在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的更多相关文章
- python虚拟机中的异常流控制
异常:对程序运行中的非正常情况进行抽象.并且提供相应的语法结构和语义元素,使得程序员能够通过这些语法结构和语义元素来方便地描述异常发生时的行为. 1.Python中的异常机制: 1.1Python虚拟 ...
- python异常处理[转]
#!/usr/bin/python import tracebacktry: 1/0#except Exception,e:# print traceback.format_exc() except ...
- python异常处理(基础)
之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...
- Python异常处理 分类: python Raspberry Pi 服务器搭建 2015-04-01 13:22 172人阅读 评论(0) 收藏
一个程序要保持稳定运行必须要有异常处理,本文将简单介绍Python中的try-except..异常处理语句的使用. 该种异常处理语法的规则是: 执行try下的语句,如果引发异常,则执行过程会跳到第一个 ...
- Python 异常处理--raise函数用法
raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]] ...
- python异常处理try,except,else,finally,raise
先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...
- Python异常处理体系
1.Python内建异常体系结构 The class hierarchy for built-in exceptions is: BaseException +-- SystemExit +-- ...
- Python 异常处理
Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...
- python异常处理和断言
http://blog.csdn.net/pipisorry/article/details/21841883 关于异常处理有必要么的讨论 最重要的问题是你在开发过程中隐藏了bug,如果当时你没加这个 ...
随机推荐
- Java任务调度框架之分布式调度框架XXL-Job介绍
Java任务调度框架之分布式调度框架XXL-Job介绍及快速入门 调度器使用场景: Java开发中经常会使用到定时任务:比如每月1号凌晨生成上个月的账单.比如每天凌晨1点对上一天的数据进行对账操作 ...
- CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/win-64/repodata.json.bz2> Elapsed: -
将C:\Users\<本机用户名>\.condarc文件修改为 channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/ ...
- Laravel 操作指令
php artisan migrate —path=database/migrations/v1 更新表数据 php artisan make:migration create_channels_ta ...
- 做成像的你不能不了解的真相7-两分钟测算相机增益(Gain)
前几期真相文章得到了读者积极的反馈,其中提问最多的就是这个公式: 首先,大家觉得这个公式太有用了.以前只能定性地评价图像质量,现在一下子就能直接算出信噪比,瞬间高大上了许多有木有.然而,杯具的现实是, ...
- How Cocoa Beans Grow And Are Harvested Into Chocolate
What is Cocoa Beans Do you like chocolate? Most people do. The smooth, brown candy is deliciously sw ...
- day02-文件操作
文件操作. 1,文件路径:d:\python一定要学好.txt 2,编码方式:utf-8 gbk .... 3,操作模式:只读,只写,追加,读写,写读..... 不论哪种方式都只能执行一次.例如r模式 ...
- The Five-Number Summary|Boxplots
3.3 The Five-Number Summary; Boxplots the deciles divide a data set into tenths (10 equal parts), th ...
- Codeforces Roundd #573 (Div. 2)
D. Tokitsukaze, CSL and Stone Game 题意:有n堆石头,每人每次只能去一颗石子,若轮到当前人没任何一堆石子可以取或当前人取到后剩下有俩堆石子个数相同则当前人输: 给定石 ...
- deeplearning.ai 序列模型 Week 2 NLP & Word Embeddings
1. Word representation One-hot representation的缺点:把每个单词独立对待,导致对相关词的泛化能力不强.比如训练出“I want a glass of ora ...
- bat连接映射盘
net use h: \\IP地址\目录 "密码" /user:"用户名"