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不规范的日期字符串处理类
Jun 10 Python
Python常用正则表达式符号浅析
Aug 13 Python
python实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
windows下ipython的安装与使用详解
Oct 20 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
python3利用Socket实现通信的方法示例
May 06 Python
python之mock模块基本使用方法详解
Jun 27 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
Django模板语言 Tags使用详解
Sep 09 Python
python实现电子词典
Mar 03 Python
Python configparser模块配置文件过程解析
Mar 03 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实现小型站点广告管理(修正版)
2006/10/09 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
php检查页面是否被百度收录
2015/10/28 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
Python中Continue语句的用法的举例详解
2015/05/14 Python
python实现朴素贝叶斯算法
2018/11/19 Python
Python高斯消除矩阵
2019/01/02 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
模具设计与制造专业应届生求职信
2013/10/18 职场文书
三项教育活动实施方案
2014/03/30 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书
运动会广播稿20字
2015/08/19 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL