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 27 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
Python设计模式之外观模式实例详解
Jan 17 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
Python3.5集合及其常见运算实例详解
May 01 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
Django自定义用户登录认证示例代码
Jun 30 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 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
第七节 类的静态成员 [7]
2006/10/09 PHP
php set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php简单中奖算法(实例)
2017/08/15 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
js实现日历与定时器
2017/02/22 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
Django小白教程之Django用户注册与登录
2016/04/22 Python
怎样使用Python脚本日志功能
2016/08/14 Python
python目录与文件名操作例子
2016/08/28 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python中is与==判断的区别
2017/03/28 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
一篇.NET面试题
2014/09/29 面试题
法律系毕业生求职信
2014/05/28 职场文书
跑操口号
2014/06/12 职场文书
vue判断按钮是否可以点击
2022/04/09 Vue.js