python中try/except/else/finally语句的完整格式如下所示:

try:

Normal execution block

except A:

Exception A handle

except B:

Exception B handle

except:

Other exception handle

else:

if no exception,get here

finally:

print("finally")

说明:

正常执行的程序在try下面的Normal execution block执行块中执行,在执行过程中如果发生了异常,则中断当前在Normal execution block中的执行跳转到对应的异常处理块中开始执行;

python从第一个except X处开始查找,如果找到了对应的exception类型则进入其提供的exception handle中进行处理,如果没有找到则直接进入except块处进行处理。except块是可选项,如果没有提供,该exception将会被提交给python进行默认处理,处理方式则是终止应用程序并打印提示信息;

如果在Normal execution block执行块中执行过程中没有发生任何异常,则在执行完Normal execution block后会进入else执行块中(如果存在的话)执行。

无论是否发生了异常,只要提供了finally语句,以上try/except/else/finally代码块执行的最后一步总是执行finally所对应的代码块。

需要注意的是:

1.在上面所示的完整语句中try/except/else/finally所出现的顺序必须是try-->except X-->except-->else-->finally,即所有的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。

2.对于上面所展示的try/except完整格式而言,else和finally都是可选的,而不是必须的,但是如果存在的话else必须在finally之前,finally(如果存在的话)必须在整个语句的最后位置。

3.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句会引发语法错误。也就是说else不能与try/finally配合使用。

python if try except_python try except相关推荐

  1. python的try和except_python的try...except

    主要用于在无论是否发生异常情况,都需要执行一些清理工作的场合,如在通信过程中,无论通信是否发生错误,都需要在通信完成或者发生错 误时关闭网络连接.尽管try/except和try/finally的作用 ...

  2. python的try和except_Python用try except处理程序异常的三种方法总结

    Python用try except处理程序异常方法分析 本文实例讲述了Python使用try except处理程序异常的三种常用方法.分享给大家供大家参考,具体如下: 如果你在写python程序时遇到 ...

  3. python while true try except_Python为true时,Try/Except,返回valu

    当我在生成一个变量并将while设置为True.try/except命令后尝试返回值时,该变量不返回该值.我正在努力使这个"起点"全球化,以便可以使用它.在def start_ti ...

  4. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  5. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  6. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  7. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  8. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  9. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

最新文章

  1. FFmpeg滤镜使用指南
  2. python基础教程:类型转换和舍入
  3. java初学之stream
  4. Extjs TextField扩展
  5. android上传图片文件至c 服务器,Android 史上最优雅的实现文件上传、下载及进度的监听...
  6. android旋转屏幕 简册,[Android][旋转屏幕]
  7. C++基础学习8:类的定义(class)
  8. 微信小程序保存图片fail Error: unable to verify the first certificate 微信小程序 当前系统代理不是安全代理,是信任问题解决
  9. 商业智能改变汽车行业
  10. Ruby命令之gem操作
  11. SpringMVC测试框架(转载)
  12. 计算机网络性能(2)
  13. 嵊州D1T1 总统先生,一路走好!
  14. 哈尔滨工业大学考研 网络与空间安全 837 资料库
  15. 魅族手机使用鸿蒙系统,魅族宣布接入鸿蒙是怎么回事?魅族手机可以刷鸿蒙系统吗?...
  16. 最好的C#教程和参考书
  17. 申宝证券-养老概念强势
  18. 最新内核仿某里巴巴的小说网站源码+支持响应式
  19. 采用simulink构建AWGN信道中分组码的BPSK数字通信系统
  20. 病毒周报(081117至081123)

热门文章

  1. android计算器弹窗,android实现简易计算器
  2. 游标迭代器(过滤器)——Scan
  3. Matlab对指定参数的曲线进行非线性拟合
  4. CV2 puttext不能显示中文问题
  5. 创建线程时,需要创建的内容
  6. java比较字符能用等于号码_Java字符串比较,==,等于,匹配,compareTo()之间的差异。...
  7. centos6.5搭建mysql主从_mysql 主从配置,主-》windows,从-》centos6.5
  8. aux 参数 linux,Linux下ps aux命令中STAT的参数含义(转)
  9. php中append,插入节点append()、insertAfter()的特殊用法:对原有DOM元素进行移动
  10. edge浏览器怎么恢复默认设置 edge恢复默认设置方法