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 中的列表解析和生成表达式
Mar 10 Python
linux 下实现python多版本安装实践
Nov 18 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
基于Python os模块常用命令介绍
Nov 03 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
Python for循环生成列表的实例
Jun 15 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
Python os模块常用方法和属性总结
Feb 20 Python
执行Python程序时模块报错问题
Mar 26 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
Python中的 Set 与 dict
Mar 13 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
解析php中curl_multi的应用
2013/07/17 PHP
php常用的工具开发整理
2019/09/26 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
JavaScript 原型继承
2011/12/26 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python实现Adapter模式实例代码
2018/02/09 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python简易版图书管理系统
2019/08/12 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
医学生职业生涯规划书范文
2014/03/13 职场文书
平安建设实施方案
2014/03/19 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
nginx内存池源码解析
2021/11/20 Servers
nginx搭建NFS网络文件系统
2022/04/14 Servers