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标准库之sqlite3使用实例
Nov 25 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
Numpy之文件存取的示例代码
Aug 03 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
python3实现高效的端口扫描
Aug 31 Python
用python解压分析jar包实例
Jan 16 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
python3排序的实例方法
Oct 20 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
总结Python连接CS2000的详细步骤
Jun 23 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
输出控制类
2006/10/09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
利用Python如何生成便签图片详解
2018/07/09 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
python实现求特征选择的信息增益
2018/12/18 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
《三峡》教学反思
2014/03/01 职场文书
安全责任书怎么写
2014/07/28 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
个人总结与自我评价
2015/02/14 职场文书
环境卫生标语
2015/08/03 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android