python的try和except_python的try...except
主要用于在无论是否发生异常情况,都需要执行一些清理工作的场合,如在通信过程中,无论通信是否发生错误,都需要在通信完成或者发生错
误时关闭网络连接。尽管try/except和try/finally的作用不同,但是在编程实践中通常可以把它们组合在一起使用
try/except/else/finally的形式来实现稳定性和灵活性更好的设计。
默认情况下,在程序段的执行过程中,如果没有提供try/except的处理,脚本文件执行过程中所产生的异常消息会自动发送给程序调用端,
如python shell,而python shell对异常消息的默认处理则是终止程序的执行并打印具体的出错信息。这也是在python shell中执行程序错误后所出现的出错打印信息的由来。try/except格式
python中try/except/else/finally语句的完整格式如下所示:
try:
Normal execution block
except A:
Exception A handle
except B:
Exception B handle
except:
Other exception handle
else:
if no exception,get here
finally:
print("finally")
说明:
正常执行的程序在try下面的Normal execution block执行块中执行,在执行过程中如果发生了异常,则中断当前在
Normal execution block中的执行,跳转到对应的异常处理块中开始执行;
python从第一个except X处开始查找,如果找到了对应的exception类型则进入其提供的exception handle中进行处理,
如果没有找到则直接进入except块处进行处理。except块是可选项,如果没有提供,该exception将会被提交给python进行默认处理,
处理方式则是终止应用程序并打印提示信息;
如果在Normal execution block执行块中执行过程中没有发生任何异常,则在执行完Normal execution block后会进入else执行块中
(如果存在的话)执行。
无论是否发生了异常,只要提供了finally语句,以上try/except/else/finally代码块执行的最后一步总是执行finally所对应的代码块。
需要注意的是:
1.在上面所示的完整语句中try/except/else/finally所出现的顺序必须是try-->except X-->except-->else-->finally,即所有
的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。
2.对于上面所展示的try/except完整格式而言,else和finally都是可选的,而不是必须的,但是如果存在的话else必须在finally之前,
finally(如果存在的话)必须在整个语句的最后位置。
3.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句
会引发语法错误。也就是说else不能与try/finally配合使用。
4.except的使用要非常小心,慎用。
python的try和except_python的try...except相关推荐
- python的try和except_Python用try except处理程序异常的三种方法总结
Python用try except处理程序异常方法分析 本文实例讲述了Python使用try except处理程序异常的三种常用方法.分享给大家供大家参考,具体如下: 如果你在写python程序时遇到 ...
- python while true try except_Python为true时,Try/Except,返回valu
当我在生成一个变量并将while设置为True.try/except命令后尝试返回值时,该变量不返回该值.我正在努力使这个"起点"全球化,以便可以使用它.在def start_ti ...
- python if try except_python try except
python中try/except/else/finally语句的完整格式如下所示: try: Normal execution block except A: Exception A handle ...
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- 【实验楼】python简明教程
①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...
- 【Kaggle Learn】Python 5-8
五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...
- 【Kaggle Learn】Python 1-4
[Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...
- 使用python愉快地做高数线代题目~
今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...
- python 位运算与等号_Python 运算符
和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...
最新文章
- java instanceof 原理_java-在现代JVM实现中如何实现instanceof?
- 网站优化中哪些设置会影响蜘蛛的抓取?对网站SEO产生什么影响?
- 机器人差速驱动方式(Differential Drive)
- c#-检查USB硬件变化
- 领域驱动第四章-读书笔记
- 廖雪峰说python_廖雪峰官网Python部分的疑问及解决
- Hive分析窗口函数系列文章
- 广州市科目三电子路考--大观路通过经验
- OpenJudge NOI 1.7 14:大小写字母互换
- 用simulink分析傅里叶变换、短时傅里叶变换和小波变换
- 20189217 2018-2019-2 《移动平台开发实践》第6周学习总结
- 使用/调用 函数的时候, 前面加不加 对象或 this?
- JavaEE 笔记一
- linux的IO调度算法和回写机制
- VASP、Lammps快速上手神器——MedeA软件
- Linux安装winetim简单教程,在Ubuntu 18.04中安装Wine QQ、微信、TIM,并安装图标托盘,...
- 夏普Sharp MX-B6581D 一体机驱动
- 人在烟火间(外两章)
- 干货!基于信息瓶颈理论的神经元竞争初始化策略
- VS code,Live Server更改默认浏览器
热门文章
- windows下安装各个版本memcache扩展
- IIS发生意外错误0x8ffe2740
- (实际开发大数据分析系统)网络爬虫获取数据与销售数据分析系统
- Wisdom RESTClient支持自动化测试并可以生成API文档
- 分模块开发创建父工程——(六)
- Javaweb监听器(2)
- Android AES加密算法,现在实际上
- Facebook API使用经验分享
- CE5.0 - romimage.exe如何填充eboot.bin中的pTOC特殊指针生成.nb0
- php返回null接收的是空字符串,求大神救命!!php接收到是空的字符串