文章目录

  • python标准异常
  • 异常处理
  • 自定义异常

python标准异常

异常就是影响程序正常执行的一个事件。
某一行代码发生异常,程序就退出了,后续代码都不会执行。

异常名称 描述
BaseException 所有异常的基类
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
WindowsError 系统调用失败
ImportError 导入模块/对象失败
LookupError 无效数据查询的基类
IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于Python 解释器不是致命的)
NameError 未声明/初始化对象 (没有属性)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
IndentationError 缩进错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
TypeError 对类型无效的操作
ValueError 传入无效的参数
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告

异常处理

使用 try except 捕获异常,见代码:


try:print(5 / 0)
except ZeroDivisionError:print("error")
except Exception:print("其他异常")

示例代码是一种很简单的异常处理方式,针对ZeroDivisionError异常进行单独处理,使用Exception对所有异常进行统一处理。具体的异常,详见上表。

python的异常还有不少使用方式,这里推荐一篇博文:
python3基础:异常
这篇博文里面会讲:
嵌套的try、try-finally、try…finally…else、异常参数、触发异常、自定义异常等内容。
python3基础:异常

自定义异常


class myError(RuntimeError):def __init__(self, value1):self.value1 = value1try:raise myError("抛异常了")
except myError as ex:print("异常发生,值为:", ex.value1)myError("")

运行结果:


class myException(Exception):def __init__(self, length, atleast):Exception.__init__(self)self.length = lengthself.atleast = atleasttry:s0 = int(input("请输入最小长度:"))s1 = input("请输入字符串:")if len(s1) < s0:raise myException(len(s1), s0)
except AttributeError:print("对象没有这个属性")
except myException as ex:print("抛异常:输入长度:{}, 不抛异常的最小长度:{}".format(ex.length, ex.atleast))
else:print("没有抛异常")

运行结果:

python学习-异常(异常类型,异常处理、自定义异常)相关推荐

  1. Python学习笔记之类型判断,异常处理,终止程序操作小结

    Python学习笔记之类型判断,异常处理,终止程序操作小结 运行结果: 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发. 爬虫.数据分析.数据可视化.机 ...

  2. 艺赛旗(RPA)Python 学习之异常

    艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...

  3. Python学习,约束和异常处理

    一.类的约束 首先,你要清楚,约束是对类的约束,比如,现在你是一个项目经理,然后呢,你给手下的人分活,张三你处理一下普通用户登录,李四你处理一下会员登录,王五已处理一下管理员登录,那这个时候呢他们就开 ...

  4. python 学习指南_Python类型检查终极指南

    python 学习指南 In this guide, you will get a look into Python type checking. Traditionally, types have ...

  5. Python学习日记(二十一) 异常处理

    程序中异常的类型 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基 ...

  6. Python学习笔记——鸭子类型(duck typing)

    前言 在实习期间,由于工作需要首次接触了Python这门语言,由于学习和使用的时间非常短,所以当时认为,作为一门解释性语言,在做Web开发方面,Python和PHP的差别不大,甚至在一些应用场景上没有 ...

  7. Python学习-数据异常检测

    数据科学中,在对数据分析前,必须要多数据进行处理.将非正常的.错误的数据输入到算法中会导致不好的结果.所以异常的检测及处理为非常重要的一环. 1.1 单变量异常检测 在处理单变量异常时,有一条准则:极 ...

  8. [转载] Python学习笔记 String类型常用方法

    参考链接: Python string.zfill()方法 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充 ...

  9. Lawliet|Python学习笔记2——控制结构异常处理

    1.顺序结构 2.分支结构 a.单分支结构 if<条件>: <语句块> guess=eval(input()) if guess==99:print("猜对了&quo ...

  10. Python学习day02_数字类型 与 布尔类型 短路逻辑和运算符优先级

    目录 一.数字类型 1.1 整数 integers 1.2 浮点数 floating point numbers 1.3 复数 complex numbers 1.5 数字运算 二.布尔类型 Bool ...

最新文章

  1. 更高效的PacBio长read纠错算法的研究
  2. [零基础学JAVA]Java SE面向对象部分-10.面向对象基础(05)
  3. Python 知识点笔记:走进面向对象
  4. macrotask和microtask以及EventLoop的介绍
  5. Linux操作系统定时任务系统 Cron
  6. camel 使用_使用Camel从WildFly 8向WebLogic 12发送JMS消息
  7. linux 安装libcurl4-gnutls-dev,curl / curl.h,libcurl,libcurl4-openssl-dev,libcurl4-nss-dev库之间的区别?...
  8. python移动端web开发代码_移动web前端开发,前端开发工作总结,移动端页面开发-我主页-一个前端程序猿的博客...
  9. 要玩就玩大的 夏普展示1,000,000:1对比度液晶电视
  10. 【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office?
  11. 如何在 Mac 上控制对摄像头的访问?
  12. windows xp sp3(XP3)无法安装或使用iis的根本原因及解决办法研究
  13. html视频怎么改大小,对视频大小、比例进行修改
  14. 裁员潮,互联网寒冬的黑暗时刻
  15. 计算机控制系统总线,计算机控制系统功能之现场总线控制-电脑自学网
  16. linux挂载40t硬盘,Centos支持40T磁盘阵列MD1200
  17. 命主属性是水什么意思_五行为水的命主会有怎么样的性格特点
  18. Unity3D 手机摇一摇 实现震动效果
  19. 思维导图学习法 手把手教你思维导图怎么画
  20. 阿里云视频点播+项目实战

热门文章

  1. SAP Fiori Elements controller extension 的加载原理
  2. 为加快SAP Commerce Cloud在windows服务器上的启动速度,而禁用的一些服务
  3. 如何在Component template函数执行时查看ɵɵtemplate或者ɵɵproperty传入的参数值
  4. SAP Spartacus My Company list focus事件触发后,控件border的默认效果
  5. 使用StackBlitz和SAP Spartacus快速创建电商店铺页面
  6. SAP UI5 Web Component里如何自定义CSS style
  7. SAP官方到底提供了免费的S4HANA试用版没有?
  8. IBASE read buffer
  9. Opportunity workflow debug
  10. 关于Business Document save时是否设置distribution lock的问题