try except python3.7_python3.X中try/except
包含try...except...在3.x版本中与2.x版本中的用法差异。
1、先说差异:
在2.x的python中用法实例:
1 try:2 ......3 exceptException,e:4 raise e
在3.x的python中用法实例:
1 try:2 ......3 exceptException as e:4 raise e
好啦,两者差异经过对比一目了然(感觉这里说格式更好一点,但是格式与用法的成分都有,算了,就这样吧)。啦啦啦~
2、再说和异常相关的:
与Python异常相关的关键字
1 关键字 关键字说明2 raise 抛出/引发异常3 try/except捕获异常并处理4 pass忽略异常5 as 定义异常实例(exceptIOError as e)6 finally无论是否出现异常,都执行的代码7 else 如果try中的语句没有引发异常,则执行else中的语句的语句没有引发异常,则执行else中的语句
3、使用try和except语句来捕获异常
1 try:2 block3 except[exception,[data…]]:4 block
6 try:7 block8 except[exception,[data...]]:9 block10 else:11 block
该种异常处理语法的规则是:
· 执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。
· 如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。
· 如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。
· 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。
· 如果没有发生异常,则执行else块代码。
一个 try...except 块可以有一条 else 子句,就像 if 语句。如果在 try 块中没有异常引发,然后 else 子句被执行。
4、采用traceback(跟踪)模块查看异常
发生异常时,Python能“记住”引发的异常以及程序的当前状态。Python还维护着traceback(跟踪)对象,其中含有异常发生时与函数调用 堆栈有关的信息。记住,异常可能在一系列嵌套较深的函数调用中引发。程序调用每个函数时,Python会在“函数调用堆栈”的起始处插入函数名。一旦异常 被引发,Python会搜索一个相应的异常处理程序。如果当前函数中没有异常处理程序,当前函数会终止执行,Python会搜索当前函数的调用函数,并以 此类推,直到发现匹配的异常处理程序,或者Python抵达主程序为止。这一查找合适的异常处理程序的过程就称为“堆栈辗转开解”(Stack Unwinding)。解释器一方面维护着与放置堆栈中的函数有关的信息,另一方面也维护着与已从堆栈中“辗转开解”的函数有关的信息。
5、常用异常名称:
1 异常名 描述2 AttributeError 调用不存在的方法引发的异常3 EOFError 到文件末尾引发的异常4 ImportError 导入模块出错引发的异常5 IndexError 列表越界引发的异常6 IOError I/O操作引发的异常,如打开文件出错等7 KeyError 使用字典中不存在的关键字引发的异常8 NameError 使用不存在的变量名引发的异常9 TabError 语句块缩进不正确引发的异常10 ValueError 搜索列表中不存在的值引发的异常11 ZeroDivisionError 除数为零引发的异常
try except python3.7_python3.X中try/except相关推荐
- opencv安装教程python3.7_Python3.7中安装openCV库的方法
1.首先自己直接在cmd中输入 pip3 install openCV是不可行的,即需要自己下载安装包本地安装 2.openCV库 下载地址http://www.lfd.uci.edu/~gohlke ...
- python在企业有哪些应用_python2和python3在企业中应用有哪些
原标题:python2和python3在企业中应用有哪些 即将进入到人工智能时代的今天,大家也对人工智能学习,Python学习非常感兴趣.那么,如果不自学,Python"人工智能编程培训&q ...
- arduino跑python,尝试在我的Arduino和stu上执行Python3.7.2中的代码
提前谢谢你.在 我会尽量简短.在 我有一个Arduino+IDE,有一个串行端口,工作正常. 我下载了python3.7.2.PySerial和VPython. 全部安装完毕.在 通过我的MacBoo ...
- python3文件下载-python3获取文件中url内容并下载代码实例
这篇文章主要介绍了python3获取文件中url内容并下载代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #!/usr/bin/env py ...
- ios怎么安装python3.7_Python3、PyCharm的安装及使用方法(Mac版)
Python3.PyCharm的安装及使用方法(Mac版) 进入Python官网,点击Latest右侧的链接进入,找到底部的Files,下载适合自己的安装文件,我装的是Python3.7.4. 下载好 ...
- python3列表生成式中的for循环与普通放在外面的for循环细微差异
python3列表生成式中的for循环与普通放在外面的for循环细微差异 实例: 给定列表alist = [1,2,3,4,5,6,7],k=3 想要使用for循环达成输出[5,6,7,1,2,3,4 ...
- [转载] Python3.X 线程中信号量的使用方法示例
参考链接: 示例说明Python2.x和Python3.x之间的重要区别 信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问.信号量维护着一个计数器,指定可同时访问资源或者进入临界 ...
- python3.7.1中IDLE突然打不开;spyder3打不开解决方案
python3.7.1中IDLE突然打不开:spyder3打不开解决方案 参考文章: (1)python3.7.1中IDLE突然打不开:spyder3打不开解决方案 (2)https://www.cn ...
- linux打开python3_号外:RIDE 可以在 linux+python3 的环境中运行啦!
号外:RIDE 可以在 linux+python3 的环境中运行啦! RIDE1.7.4.1 版本,是一个 python 自动化测试中一个跨越式版本更新. RIDE 是什么 **RIDE 是什么?它是 ...
最新文章
- java vector search_java.util.Vector.retainAll()方法实例
- SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录
- Office协同办公:SkyDrive
- CSS自动换行,强迫不换行
- C语言实现:将一个字符串插入到另一个字符串的指定位置
- java线程的cancel_多线程-Cancel详解
- MySQL的一些基础操作
- Java包装类和基本数据类型的对照
- 关于细分到字段的权限系统_操作系统中的细分
- 计算机c语言模拟考试,国家计算机二级c语言考试模拟题
- 字符串算法-Rabin-Karp
- IEEE写作模板获取
- MAC编译OpenJDK8(含202-242)的Xcode版本问题
- LC-3 汇编语言 指令集
- [HYSYS学习]逻辑单元-循环器
- 如何做好一个APP开发项目?需要规避以下误区
- 南京:探索实施“电子围栏”管理新模式 缓解商圈周边道路交通拥堵
- 《伟大是熬出来的》冯仑与年轻人闲话人生之三
- DIY智能小车篇(一):结构模块
- JAVA培训多久可以找工作?
热门文章
- 2020年10月21日 星期三 工作日志
- Angular 指令ngTemplateOutlet的运行原理单步调试
- SAP Spartacus的url parameter
- SAP Cloud for Customer的inscreen_dataflow处理方式
- why we need getCoreClasses()
- Hybris PriceRow的存储定义
- SAP Cloud for Customer My settings按钮被disable的原因分析
- how to avoid transport error when cloning project in Eclipse
- Error dialog box generic entry point
- 关于SAP Cloud Platform ABAP环境费用的问题