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之正规地说一句话
Sep 28 Python
python获取从命令行输入数字的方法
Apr 29 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
python实现教务管理系统
Mar 12 Python
Pandas:DataFrame对象的基础操作方法
Jun 07 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
Python求解排列中的逆序数个数实例
May 03 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
python中操作文件的模块的方法总结
Feb 04 Python
如何用python绘制雷达图
Apr 24 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的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
php生成图片验证码的方法
2016/04/15 PHP
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
简明 Python 基础学习教程
2007/02/08 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
Python类属性的延迟计算
2016/10/22 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
python读取中文txt文本的方法
2018/04/12 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python实现图片识别加翻译功能
2019/12/26 Python
使用Tkinter制作信息提示框
2020/02/18 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
大学生万能检讨书范例
2014/10/04 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
党员进社区活动总结
2015/05/07 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL