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删除java文件头上版权信息的方法
Jul 31 Python
python文件写入实例分析
Apr 08 Python
Python获取当前路径实现代码
May 08 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
基于python进行桶排序与基数排序的总结
May 29 Python
微信公众号token验证失败解决方案
Jul 22 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
如何在python中处理配置文件代码实例
Sep 27 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
Python生成九宫格图片的示例代码
Apr 14 Python
Python合并多张图片成PDF
Jun 09 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/04/30 PHP
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
理解JS绑定事件
2016/01/19 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
运动会广播稿200米
2014/01/27 职场文书
毕业生就业意向书
2014/04/01 职场文书
正科级干部考察材料
2014/05/29 职场文书
学校个人对照检查材料
2014/08/26 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL