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字典操作简明总结
Apr 13 Python
python3中str(字符串)的使用教程
Mar 23 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
python3 读取Excel表格中的数据
Oct 16 Python
django 外键model的互相读取方法
Dec 15 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
pytorch多GPU并行运算的实现
Sep 27 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
python如何删除文件、目录
Jun 23 Python
如何卸载python插件
Jul 08 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的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
javascript实现画板功能
2020/04/12 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
Python中datetime模块参考手册
2017/01/13 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
请客吃饭开场白
2015/06/01 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
导游词之太湖
2019/10/08 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server