笔记||Python3之异常处理
异常概念:1 - 代码执行产生错误,无法继续
2 - 在异常前面代码是可以执行的 ---python是解释型的
3 - 异常作用 --- 程序不要退出 - 可以继续执行 同时给予程序员一定的异常提示信息
python有两种错误很容易辨认:语法错误和异常
语法错误:while True:
print('hello world!')
异常:print(10+(1/0)) # ZeroDivisionError:disvision by zero 除数不能为0
异常的种类:try语句 -- 首先执行try子句(在关键字try和关键字except之间的语句),如果没有异常发生,忽略except的子句,try子句执行后结束。
如果在执行try子句的过程中发生了异常,那try子句余下的部分将被忽略。
如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
1 - NameError.name 'name' is not defined # ‘name’没有被定义
2 - ZeroDivisionError:disvision by zero # 除数不能为0
3 - FileNotFoundError:[Errno 2] No such file or diretory:'t:/' # 找不到相应的文件或目录
4 - IndexError:list index out of range # 下标越界异常
异常的捕获+处理:
1 - 捕获预知异常
try:
except 异常类型:
处理内容

2 - 多个预知异常:执行其中一个 --- 异常按照顺序抛出
except ZeroDivisionError:
print('您输入的值不能为0!')
except ValueError:
print('输入的值的类型不对!')

3 - 捕获异常的具体信息 except ZeroDivisionError as e:
4 - 有时候我们并不知道会抛出什么异常 ---- 未知异常
①except Exception as e : ---- 捕获异常父类
②简写 except:
③捕获未知异常的具体信息: tracback.format_exc()
5 - 不管是否有异常,我们都要执行一段代码 finally:
6 - else: 没有异常的情况下,要执行一段代码

7 - 函数调用栈:① 解释器中断当前代码的执行,并抛出一个异常对象
② 并在函数的调用栈从下到上,层层的寻找捕获处理该异常的代码
③ 如果能找到就执行对应的代码
④ 如果不能则会一直找到最外层的函数,结束本次执行


8 - 自定义异常 ----- 类
继承自Exception
class NameTooLongError(Exception):
pass
笔记||Python3之异常处理的更多相关文章
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- Python3 的异常处理
Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类. ...
- 【Python3之异常处理】
一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: inva ...
- 笔记:Python异常处理与程序调试
Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约 ...
- Spring MVC学习笔记——登录和异常处理
1.在WEN-INF文件夹下面,添加一个login.jsp文件 <%@ page language="java" contentType="text/html; c ...
- 《java JDK7 学习笔记》之异常处理
1.java中所有的错误都会被打包为对象,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的异常类型,是否符合被抛出的错误对象类型,如果是的 ...
- Guava学习笔记:简化异常处理的Throwables类
有时候, 当我们我们捕获异常, 并且像把这个异常传递到下一个try/catch块中.Guava提供了一个异常处理工具类, 可以简单地捕获和重新抛出多个异常.例如: import java.io.IOE ...
- Python学习笔记整理(十七)异常处理
一.异常基础 try/except:捕捉由代码中的异常并恢复,匹配except里面的错误,并自行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不会中断程序,继续执行 ...
- Python学习笔记总结(四)异常处理
1.基础 try/except/else:[else是可选的]捕捉由代码中的异常并恢复,匹配except里面的错误,并执行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常 ...
随机推荐
- MySQL InnoDB MVCC
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...
- iOS核心动画高级技巧-2
3. 图层几何学 图层几何学 不熟悉几何学的人就不要来这里了 --柏拉图学院入口的签名 在第二章里面,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性.在这一章中,我们将要看一看图层内部是如何 ...
- hostnamectl命令 主机名 host相关命令
hostnamectl set-hostname CentOS7设置主机名为CentOS7 hostnamectl status查看主机系统信息 注:host+TAB查阅host相关的所有命令 hos ...
- 让块元素在div中水平居中,并且垂直居中的五种方法
在写代码前,先做下准备工作,写两个div,设置下div的大小,把小的div放在大的div里面.可以给小的div设置下颜色,方便观看. 方法一:写一个伪元素,将它设置为行内块元素,高度与父元素相同,写一 ...
- C#解析XML之流模型-XMLTextReader类
C#读取XML文档之XMLTextReader 类有一些构造程序来适应各种各样的情况,比如从一个已经存在的数据流或统一资源定位网址读取数据.最常见的是,你或许想从一个文件读取XML数据,那么也就有一个 ...
- (四十)golang--单元测试
传统的测试: package main import ( "fmt" ) func addUpper(n int) int { res := ; i <= n; i++ { ...
- 2019-9-23:渗透测试,基础学习,http协议数据包的认识,html css的认识,笔记
Burp suite功能模块Dashboard:扫描Proxy:拦截包,代理 drop:放弃Intruder:爆破Decoder:编码,解码repeater:重放comparer:比较 BP,prox ...
- SpringBoot源码学习系列之异常处理自动配置
SpringBoot源码学习系列之异常处理自动配置 1.源码学习 先给个SpringBoot中的异常例子,假如访问一个错误链接,让其返回404页面 在浏览器访问: 而在其它的客户端软件,比如postm ...
- scrapy抓取中国新闻网新闻
目标说明 利用scrapy抓取中新网新闻,关于自然灾害滑坡的全部国内新闻:要求主题为滑坡类新闻,包含灾害造成的经济损失等相关内容,并结合textrank算法,得到每篇新闻的关键词,便于后续文本挖掘分析 ...
- linux磁盘分区三步走
为了便于理解硬盘的物理结构 ,可将硬盘看作一个圆,它是坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘有两面,都可记录信息.要了解硬盘的物理结构,需要弄懂磁道.扇区.柱面.簇等几 ...