Python之异常处理(异常处理机制,抛出异常,自定义异常)
文章目录
- 1、常见的Exception
- 2、异常处理机制
- 3、抛出异常
- 4、自定义异常
1、常见的Exception
AttributeError 、IOError 、ImportError 、IndexError、
SyntaxError、TypeError、ValueError、KeyError、NameError
IndentationError: 缩进错误
KeyboardInterrupt: Ctrl+C被按下
UnboundLocalError : 有同名的全局变量
print(a) # NameErrorprint(10/0) # ZeroDivsionErrord = {'name':'westos'}
print(d['age']) # KeyErrorwith open('hello.txt') as f: # FileNotFoundErrorpassIndentationError:缩进错误
a=b=18
if a>b:print('错误')else:print('正确')
2、异常处理机制
Python 的异常机制主要依赖 try 、except 、else、finally 和 raise 五个关键字。
- try 关键字后缩进的代码块简称 try 块,它里面放置的是可能引发异常的代码;
- except 关键字对应异常类型和处理该异常的代码块;
多个 except 块之后可以放一个 else 块,表明程序不出现异常时还要执行 else 块; - finally 块用于回收在 try 块里打开的物理资源,异常机制会保证 finally 块总被执行;
- raise 用于引发一个实际的异常,raise 可以单独作为语句使用,引发一个具体的异常对象
"""
异常处理机制:else:没有异常时,执行的内容finally: 总会执行的内容
"""
try:a = 1print(b)
except NameError as e:print('0-name error')
except KeyError:print('4-key error')
except Exception as e:print('1-exception')
else:print('2-no error')
finally:print('3-run code')
3、抛出异常
Python 允许程序自行引发异常,自行引发异常使用 raise 语句来完成。
raise语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,
args 是自已提供的异常参数。
qage = int(input('age:'))
if 0<age<150:print(age)
else:# 抛出异常raise ValueError("年龄必须在0~150之间")
4、自定义异常
用户自定义异常都应该继承 Exception 基类或 Exception 的子类,在自定义异常类时基本不需要书写更多的代码,只要指定自定义异常类的父类即可。
# 自定义的异常
class AgeError(ValueError):passage = int(input('age:'))
if 0<age<150:print(age)
else:# 抛出异常raise AgeError("年龄必须在0~150之间")
Python之异常处理(异常处理机制,抛出异常,自定义异常)相关推荐
- python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03
python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03 参考文章: (1)python网络编程-异常处理-异常捕获-抛出异常-断言-自 ...
- java 处理异常的场景_Java高级----异常处理机制、自定义异常----含思维导图
Java高级----异常处理机制.自定义异常----含思维导图 Java高级----异常处理机制.自定义异常----含思维导图 南一Java自学交流QQ群: 586012641 拒绝任何广告,共享Ja ...
- python错误-python错误和异常处理怎处理你知道么
原标题:python错误和异常处理怎处理你知道么 异常处理 什么是异常? 首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常 ...
- 【Java】Java中的异常处理:何时抛出异常,何时捕获异常?
参考文章:Java中的异常处理:何时抛出异常,何时捕获异常? 参考文章:Python错误处理-廖雪峰的官方网站 1 异常分类 Throwable对象可以分为两组: 一组是unchecked异常,异常处 ...
- Python进阶|聊聊异常处理
前言 在编写代码中,总会遇到一些bug和报错,怎么去捕获这些异常,并进行处理,以让程序更健硕了?本篇文章将带你聊聊Python的异常处理. 错误与异常 编写的程序出错,至少有两种可能,一是语法错误,二 ...
- python学习总结----异常处理
python学习总结----异常处理 相关概念- 错误:程序运行之前的语法错误,如:关键字.缩进不齐.括号不成对. - 异常:在程序运行过程中出现的问题,如:除数为0.对象属性不存在等.异常处理- 说 ...
- python中的异常处理(小白必看的史上最全异常处理总结!)【上篇】
给大家先上一个完整总结图: 文章目录 异常概述 什么是异常? Python内置异常 异常处理机制 使用try...except捕获异常 异常类的继承体系 多异常捕获 访问异常信息 else块 使用fi ...
- Python异常和异常处理
Python中的异常处理与Java中的做法思路类似,个别细节的地方需要注意下即可,理解起来没有太大问题 try-except块及finally 异常常用小技巧: (1)在类型转换的地方检查类型转换是否 ...
- JAVA 异常处理——声明、抛出异常
异常处理--声明.抛出异常 声明检查类型异常 throws 概述:如果一个方法可能会出现异常,但我们不想使用try-catch 精准捕捉处理异常,只想模糊处理,可以在方法声明处用throws子句来 ...
- python基础之异常处理
python基础之异常处理 参考文章: (1)python基础之异常处理 (2)https://www.cnblogs.com/zhangyux/p/6108026.html (3)https://w ...
最新文章
- Javascript之链式运动框架1
- 【计算机系统设计】学习笔记(1)03,04
- css flexbox模型_Flexbox教程:了解如何使用CSS Flexbox编写响应式导航栏
- yolov5 deepsort 行人车辆 双向计数 跟踪检测
- 聚类方法学习(三)亲和力传播算法AP
- 第一:Git安装和使用github(超详解)
- ubuntu 18.04 设置中文输入法
- Linux下学习进程控制
- 约5亿条!华住旗下酒店开房信息泄露于“暗网”售卖,你改密码了吗?
- Redis 禁止使用耗时命令和时间复杂度为O(n)的命令
- 讲真,灾备的内涵其实很丰富
- python制作模型排放清单_四川省人为源大气污染物排放清单及特征
- 图解css3:核心技术与案例实战. 导读
- 论文被引上千次,GitHub 开源6000星,他们是首届字节跳动奖学金获奖者
- 物联网与AI芯片密不可分 企业加速跑马圈地
- 计操实验 多级反馈队列C语言
- python学习笔记4(模块
- 【知识产权之专利权】不定项选择题和判断题题库
- PEP8中文翻译(转)
- 把一元兑换成1分、2分、5分的硬币,有几种换法?