异常概念: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之异常处理的更多相关文章

  1. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  2. Python3 的异常处理

    Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类. ...

  3. 【Python3之异常处理】

    一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: inva ...

  4. 笔记:Python异常处理与程序调试

    Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约 ...

  5. Spring MVC学习笔记——登录和异常处理

    1.在WEN-INF文件夹下面,添加一个login.jsp文件 <%@ page language="java" contentType="text/html; c ...

  6. 《java JDK7 学习笔记》之异常处理

    1.java中所有的错误都会被打包为对象,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的异常类型,是否符合被抛出的错误对象类型,如果是的 ...

  7. Guava学习笔记:简化异常处理的Throwables类

    有时候, 当我们我们捕获异常, 并且像把这个异常传递到下一个try/catch块中.Guava提供了一个异常处理工具类, 可以简单地捕获和重新抛出多个异常.例如: import java.io.IOE ...

  8. Python学习笔记整理(十七)异常处理

    一.异常基础 try/except:捕捉由代码中的异常并恢复,匹配except里面的错误,并自行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不会中断程序,继续执行 ...

  9. Python学习笔记总结(四)异常处理

    1.基础 try/except/else:[else是可选的]捕捉由代码中的异常并恢复,匹配except里面的错误,并执行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常 ...

随机推荐

  1. java笔试面试第一天

    好久未曾启用我的博客,最近来上海找工作,想将笔试面试的过程做个记录,毕竟有总结才有提高嘛.今天算是笔试面试正式开始第一天吧,以下就是我的笔试总结(没有原题了,只有知识点): 笔试题1:java sta ...

  2. nyoj 349 (poj 1094) (拓扑排序)

    Sorting It All Out 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 An ascending sorted sequence of distinct ...

  3. nyoj 46-最少乘法次数 (递推)

    46-最少乘法次数 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:5 submit:18 题目描述: 给你一个非零整数,让你求这个数的n次方,每次相 ...

  4. NetCore基于EasyNetQ的高级API使用RabbitMq

    一.消息队列 消息队列作为分布式系统中的重要组件,常用的有MSMQ,RabbitMq,Kafa,ActiveMQ,RocketMQ.至于各种消息队列的优缺点比较,在这里就不做扩展了,网上资源很多. 更 ...

  5. 搭建Redis三主三从集群

    Redis三主三从集群规划 10.0.128.19   使用端口 7000  7001 10.0.128.22   使用端口 7002  7003 10.0.128.23   使用端口 7004  7 ...

  6. 力扣(LeetCode)4的幂 个人题解

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶:你能不使用循环或者递归 ...

  7. selenium抓取视频

    今天闲着没事,用selenium抓取视频保存到本地,只爬取了第一页,只要小于等于5分钟的视频... 为什么不用requests,没有为什么,就因为有些网站正则和xpath都提取不出来想要的东西,要么就 ...

  8. 结合RBAC模型讲解权限管理系统需求及表结构创建

    在本号之前的文章中,已经为大家介绍了很多关于Spring Security的使用方法,也介绍了RBAC的基于角色权限控制模型.但是很多朋友虽然已经理解了RBAC控制模型,但是仍有很多的问题阻碍他们进一 ...

  9. cglib测试例子和源码详解

    目录 简介 为什么会有动态代理? 常见的动态代理有哪些? 什么是cglib 使用例子 需求 工程环境 主要步骤 创建项目 引入依赖 编写被代理类 编写MethodInterceptor接口实现类 编写 ...

  10. ecryptfs

    ecryptfs是一种加密文件系统.该文件系统的内容在传输和储存时以密文形式存在.只有在mount时用密钥解密才能得到明文.利用这个特性,我们可以用他来对软件镜像中的部分敏感文件系统进行加密,然后打包 ...