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实现拉钩网上的FizzBuzzWhizz问题示例
May 05 Python
跟老齐学Python之Python文档
Oct 10 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
对python3 urllib包与http包的使用详解
May 10 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
Python使用while循环花式打印乘法表
Jan 28 Python
python函数的万能参数传参详解
Jul 26 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
Python验证码截取识别代码实例
May 16 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 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
珊瑚虫IP库浅析
2007/02/15 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python Web服务器Tornado使用小结
2014/05/06 Python
使用Python构建Hopfield网络的教程
2015/04/14 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python datetime模块的使用示例
2021/02/02 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
工程招投标邀请书
2014/01/26 职场文书
党员争先创优承诺书
2015/01/20 职场文书
sql server 累计求和实现代码
2022/02/28 SQL Server
pandas中关于apply+lambda的应用
2022/02/28 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android