1、try - except

作用: 捕获程序在执行时遇到的异常情况,即一些报错。什么啥玩意儿没定义啊,符号又错了啊之类的你懂得。

意义: 因为程序在发现某个错误时,往往会中断不再向下执行,如下例子说明问题:

很明显,我们并没有定义b,  就将它赋值给a, 现在我们运行如下:

不出所料提示NameError, 发现错误就报错,不再执行下面的程序。

现在我们用try/except写一下:

打印:

我们从这个例子可以试着去推测这段代码的执行过程:

(1)先执行try代码块, 发现了错误。

(2)执行except代码块。

(3)程序向下执行。

可能有疑问try block发现异常前后正常的的部分会被执行吗,可以测试一下:

打印:

结论:

(1)先执行try block, 直到发现了错误,不再执行异常之后的代码。

(2)执行except block.

(3)向下继续。

现在已经对try/excepy有了感性的了解,接下来拓展它的用法:

简单来说,在try/except语句中,可以用多个except.

例子:

这里使用了两个except, 可以发现except 后面跟了SyntaxError, NameError, 这个我们经常见过的两个系统报错,当然这里可以改成任何系统错误(参见python标准异常)。执行:

可见,当try代码块执行出现异常,在except中匹配到了NameError的异常,则执行了对应except的语句。

新的疑问,若所有except都没有匹配呢,测试如下:

我们将NameErro改成了SystemExit,打印:

发现又回到了开始,说明这样的try/except等于是废的。。。

所以避免没有匹配到异常,又中断程序,将代码修改如下:

即又加了一条except, 这条except后面没有加系统错误,打印:

OK,get it.

2、try-except-else

举个例子:

打印:

可见,有异常时,else block时不执行的。

那,无异常时:

打印:

可见,无异常时else block执行。

至此可以写出try/except/else的格式

--------------------------------------------------------------------------------

try:

try block

except ERROR1:

except ERROR1 block

except ERRPR2:

except ERROR2 block

......

except:

except block

else:

else block

-----------------------------------------------------------------------------

当然, 这些测试只是看到语句的功能,具体的实现内部原理再说吧, 一开始看那些得把人搞晕。

3、try-finally

作用: 无论try语句是否有异常,最后都要执行的代码。

例子:

错是有的,先执行完finally block, 然后回到try block报错。

当然 try, except, else, finally是可以全部组合在一起用的。

python try语句相关(try/except/else/finally)相关推荐

  1. python入门语句_Python 快速入门笔记(5):语句

    本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正.转载请注明出处: https://www.cnblogs.com/itwhite/p/12297769.html. 简介 p ...

  2. 包教包会!7段代码带你玩转Python条件语句(附代码)

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

  3. python“ with”语句的用途是什么?

    今天,我第一次碰到了Python with语句. 我已经使用Python几个月了,甚至都不知道它的存在! 考虑到它的地位有些晦涩,我认为值得一问: Python with语句旨在用于什么? 你用它来做 ...

  4. python输入语句-python输入语句

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. python条件语句目录:1. 分支语句(if...else...)2. ...

  5. python条件语句-Python 条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块.高佣联盟 www.cgewang.com 可以通过下图来简单了解条件语句的执行过 ...

  6. python if语句多个条件-Python中if有多个条件怎么办

    Python中if有多个条件怎么办 python中if有多个条件,可以使用and.or.elif关键字来连接. Python 编程中 if 语句用于控制程序的执行,基本形式为:(推荐:python视频 ...

  7. python elif 用法_Python入门高级教程--Python 条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和 ...

  8. python循环语句打印矩形_Python中使用循环语句打印三角形、菱形

    原博文 2017-08-19 11:20 − 前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量 ...

  9. Python 条件语句 学习转载

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为tr ...

最新文章

  1. java web面试题大全_Java经典面试题之Java web开发汇总(附答案)
  2. Load 和 DOMContentLoaded 区别
  3. postgresql数据库增删改:使用pgadmin以及SQL语句来实现
  4. android activity 渐变,关于Android的径向渐变高级编程的实现
  5. 设计模式之Adapter
  6. 使用调试的方式搞清楚SAP UI5应用标题的更改方式
  7. MVC 1.0的可能方法
  8. python解释器环境中、用于表示上一次_文学人类学概说_尔雅文学人类学概说答案第四小节课后作业答案...
  9. 4.3.2 用jQuery进行异步加载(1)
  10. golang uint 减法问题
  11. Homekit直连的灯带控制套装
  12. 12.5-使用Qt实现跨平台C++崩溃捕获,看这一篇就足够了(Breakpad)
  13. 性能测试监控TP50、TP99、TP999含义(99分位延时的含义)
  14. 微信小程序-Testerhome
  15. 锚( Anchor Boxes)
  16. dz3 php post 登录,如何在调用discuz接口中传递登录状态
  17. word,ppt等office文档转化为pdf进行展示(POI + iText)(亲测有效)
  18. [Telink泰凌微825x]硬件开发环境搭建(一)
  19. 高等数学——多元函数的极值的条件
  20. 电商网站业务流程图示例

热门文章

  1. ubuntu下安装latex
  2. java面试 泛型_Java面试题五:Java 的泛型, super T 和 extends T 的区别
  3. java 线程 free_Java进阶05 多线程
  4. c语言黄建灯第七章答案,c语言实训大纲.doc
  5. JavaRabbitmq笔记-Rabbitmq自定义头(Properties中的headers)
  6. MySQL笔记-Slave_IO_Running:No【Could ... ... in binary log index file (server_errno=1236)】
  7. Qt5\MinGw编译器快速解决-QMYSQL driver not loaded问题
  8. c++ 使用nacos_想自学Maven?推荐Maven极简高速入门及常规使用
  9. idea项目启动不起来_这些教育创业项目你还不知道吗,赶紧收藏起来吧!
  10. VisualStudio解决方案配置Debug和Release选项