文章目录

  • 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之异常处理(异常处理机制,抛出异常,自定义异常)相关推荐

  1. python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03

    python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03 参考文章: (1)python网络编程-异常处理-异常捕获-抛出异常-断言-自 ...

  2. java 处理异常的场景_Java高级----异常处理机制、自定义异常----含思维导图

    Java高级----异常处理机制.自定义异常----含思维导图 Java高级----异常处理机制.自定义异常----含思维导图 南一Java自学交流QQ群: 586012641 拒绝任何广告,共享Ja ...

  3. python错误-python错误和异常处理怎处理你知道么

    原标题:python错误和异常处理怎处理你知道么 异常处理 什么是异常? 首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常 ...

  4. 【Java】Java中的异常处理:何时抛出异常,何时捕获异常?

    参考文章:Java中的异常处理:何时抛出异常,何时捕获异常? 参考文章:Python错误处理-廖雪峰的官方网站 1 异常分类 Throwable对象可以分为两组: 一组是unchecked异常,异常处 ...

  5. Python进阶|聊聊异常处理

    前言 在编写代码中,总会遇到一些bug和报错,怎么去捕获这些异常,并进行处理,以让程序更健硕了?本篇文章将带你聊聊Python的异常处理. 错误与异常 编写的程序出错,至少有两种可能,一是语法错误,二 ...

  6. python学习总结----异常处理

    python学习总结----异常处理 相关概念- 错误:程序运行之前的语法错误,如:关键字.缩进不齐.括号不成对. - 异常:在程序运行过程中出现的问题,如:除数为0.对象属性不存在等.异常处理- 说 ...

  7. python中的异常处理(小白必看的史上最全异常处理总结!)【上篇】

    给大家先上一个完整总结图: 文章目录 异常概述 什么是异常? Python内置异常 异常处理机制 使用try...except捕获异常 异常类的继承体系 多异常捕获 访问异常信息 else块 使用fi ...

  8. Python异常和异常处理

    Python中的异常处理与Java中的做法思路类似,个别细节的地方需要注意下即可,理解起来没有太大问题 try-except块及finally 异常常用小技巧: (1)在类型转换的地方检查类型转换是否 ...

  9. JAVA 异常处理——声明、抛出异常

    异常处理--声明.抛出异常 声明检查类型异常 throws   概述:如果一个方法可能会出现异常,但我们不想使用try-catch 精准捕捉处理异常,只想模糊处理,可以在方法声明处用throws子句来 ...

  10. python基础之异常处理

    python基础之异常处理 参考文章: (1)python基础之异常处理 (2)https://www.cnblogs.com/zhangyux/p/6108026.html (3)https://w ...

最新文章

  1. Javascript之链式运动框架1
  2. 【计算机系统设计】学习笔记(1)03,04
  3. css flexbox模型_Flexbox教程:了解如何使用CSS Flexbox编写响应式导航栏
  4. yolov5 deepsort 行人车辆 双向计数 跟踪检测
  5. 聚类方法学习(三)亲和力传播算法AP
  6. 第一:Git安装和使用github(超详解)
  7. ubuntu 18.04 设置中文输入法
  8. Linux下学习进程控制
  9. 约5亿条!华住旗下酒店开房信息泄露于“暗网”售卖,你改密码了吗?
  10. Redis 禁止使用耗时命令和时间复杂度为O(n)的命令
  11. 讲真,灾备的内涵其实很丰富
  12. python制作模型排放清单_四川省人为源大气污染物排放清单及特征
  13. 图解css3:核心技术与案例实战. 导读
  14. 论文被引上千次,GitHub 开源6000星,他们是首届字节跳动奖学金获奖者
  15. 物联网与AI芯片密不可分 企业加速跑马圈地
  16. 计操实验 多级反馈队列C语言
  17. python学习笔记4(模块
  18. 【知识产权之专利权】不定项选择题和判断题题库
  19. PEP8中文翻译(转)
  20. 把一元兑换成1分、2分、5分的硬币,有几种换法?

热门文章

  1. 记录ideavim,使用tab技巧
  2. 制作ubuntu18.04启动盘 + 安装ubuntu18.04
  3. MySQLdb安装与使用
  4. 视频教程-区块链算法—共识算法-区块链
  5. 36岁程序员2023年第一天上班被裁
  6. 继承(下)----虚继承
  7. Uber 背后的 PB 级数据治理之路
  8. 一年之计在于春,一日之计在于晨
  9. java毕业设计苹果酒店住房管理源码+lw文档+mybatis+系统+mysql数据库+调试
  10. 使用webmagic模拟post表单提交爬取易查分成绩