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中的__init__和__new__
Mar 12 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
轻松理解Python 中的 descriptor
Sep 15 Python
PyQt5每天必学之关闭窗口
Apr 19 Python
Python爬虫之网页图片抓取的方法
Jul 16 Python
Python多进程原理与用法分析
Aug 21 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
Python如何实现转换URL详解
Jul 02 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
Tensorflow限制CPU个数实例
Feb 06 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 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
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
python的常见命令注入威胁
2013/02/18 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
用Python实现KNN分类算法
2017/12/22 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
python实现高斯投影正反算方式
2020/01/17 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
八项规定整改方案
2014/02/21 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
酒会开场白大全
2015/06/01 职场文书
新学期感想
2015/08/10 职场文书