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脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python中list初始化方法示例
Sep 18 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
pandas 数据实现行间计算的方法
Jun 08 Python
python 函数内部修改外部变量的方法
Dec 18 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
python 并发下载器实现方法示例
Nov 22 Python
keras之权重初始化方式
May 21 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 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 whois查询API制作方法
2011/06/23 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php微信支付接口开发程序
2016/08/02 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
axios学习教程全攻略
2017/03/26 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
js实现简单的倒计时
2021/01/28 Javascript
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
python中列表和元组的区别
2017/12/18 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
python多进程并发demo实例解析
2019/12/13 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
初中生学习生活的自我评价
2013/11/20 职场文书
一年级班主任感言
2014/03/08 职场文书
三年级学生评语
2014/04/23 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
信用卡催款律师函
2015/05/27 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
MySQL分布式恢复进阶
2022/07/23 MySQL