python如何写try语句


Posted in Python onJuly 14, 2020

python的try语句有两种风格

一是处理异常(try/except/else)

二是无论是否发生异常都将执行最后的代码(try/finally)

try/except/else风格

try:
    <语句> #运行的代码
except <名字>:
    <语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
    <语句> #如果引发了'name'异常,获得附加的数据
else:
    <语句> #如果没有异常发生

try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

1、如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。

2、如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。

3、如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

try/finally风格

try:
    <语句>
finally:
    <语句> #退出try时总会执行

python总会执行finally子句,无论try子句执行时是否发一异常。

1、如果没有发生异常,python运行try子句,然后是finally子句,然后继续。

2、如果在try子句发生了异常,python就会回来执行finally子句,然后把异常递交给上层try,控制流不会通过整个try语句。
当你想无论是否发生异常都确保执行某些代码时,try/finally是有用的。

这个在打开文件的时候有用 finally总是在最后close()文件

try语句子句形式表

  • except: 捕获所有异常
  • except name: 只捕获特定的异常
  • except name,value: 捕获异常和它的附加数据(将异常的信息保存到value,)
  • except (name1,name2): 捕获任何列出的异常
  • else: 如果没有异常
  • finally: 总是执行
try:
   f = open('file.txt')
except IOError, e:
   print e
else:
   print 'wrong'
[Errno 2] No such file or directory: 'file.txt'

最新的python版本 支持try/except/finally

1:如果x没有异常,执行z,i

2:如果x有异常:

一:如果except捕捉到异常则执行y,i

二:没捕捉到,执行i,然后返回内置异常处理

try:    
     x
except(name):   
     y
else:    
   z
finally:  
   i

到此这篇关于python如何写try语句的文章就介绍到这了,更多相关python写try语句的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python遍历指定文件及文件夹的方法
May 09 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
python2与python3共存问题的解决方法
Sep 18 Python
selenium+python设置爬虫代理IP的方法
Nov 29 Python
浅谈Python反射 &amp; 单例模式
Mar 21 Python
python numpy数组复制使用实例解析
Jan 10 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
python使用列表的最佳方案
Aug 12 Python
python操作redis数据库的三种方法
Sep 10 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
Pandas 稀疏数据结构的实现
Jul 25 Python
Python操作MySQL数据库的示例代码
Jul 13 #Python
Python基于正则表达式实现计算器功能
Jul 13 #Python
python输出结果刷新及进度条的实现操作
Jul 13 #Python
python实现图像外边界跟踪操作
Jul 13 #Python
Python实现打包成库供别的模块调用
Jul 13 #Python
Python numpy矩阵处理运算工具用法汇总
Jul 13 #Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 #Python
You might like
php密码生成类实例
2014/09/24 PHP
PHP中的session安全吗?
2016/01/22 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
Python自动发邮件脚本
2017/03/31 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
实时获取Python的print输出流方法
2019/01/07 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
python中property和setter装饰器用法
2019/12/19 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
python爬虫工具例举说明
2020/11/30 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
普通大学毕业生自荐信
2013/11/04 职场文书
代理班主任的自我评价
2014/02/04 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
开学典礼校长致辞
2015/07/29 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书