【Python】Python中的异常处理
常见语法错误
- 拼写错误
- 程序不符合Python语法规范
- 缩进错误
异常处理
try...except...
:捕获单个异常并处理try...except...except...
:捕获多个异常并处理try...except...else...
:捕获异常并处理,如果没异常,执行else块语句try...except...finally...
:捕获异常并处理,finally块一定被执行(除非被强行中断)
抛出异常
- raise语句可以抛出异常:
raise 异常名
raise 异常名, 附加数据
raise 类名
- assert语句:
assert<条件测试>, <异常附加数据>
:断言为假会抛出AssertionError异常并包含错误信息。
内置异常类
异常名 | 描述 |
---|---|
AttributeError | 调用不存在的方法引发的异常 |
EOFError | 遇到文件末尾引发的异常 |
ImportError | 导入模块出错引发的异常 |
IndexError | 列表越界引发的异常 |
IOError | I/O操作引发的异常 |
KeyError | 使用字典中不存在的键引发的异常 |
NameError | 使用不存在的变量名引发的异常 |
TabError | 语句块缩进不正确引发的异常 |
ValueError | 搜索列表中不存在的值引发的异常 |
ZeroDivisionError | 除数为0引发的异常 |
FileNotFoundError | 找不到文件引发的异常 |
谈谈 except 的捕获方式
except
:捕获所有异常except<异常名>
:捕获指定异常except (异常名1, 异常名2)
:捕获异常1或者异常2except<异常名> as <数据>
:捕获指定异常及其附加的数据except (异常名1, 异常名2)
:捕获指定异常1或者异常2及异常附加的数据
Java里面我们也有提及,能不要 catch All 就不要这样处理。就像这里的except语句,直接catch All,但往往是不合适的。
代码测试工作
函数
def grade(sum):""">>> grade(90)'优'>>> grade(89)'良'>>> grade(65)'及格'>>> grade(10)'不及格'"""if sum > 100 or sum < 0:print('Error')returnelif sum > 90:return '优'elif sum > 80:return '良'elif sum > 70:return '中'elif sum > 60:return '及格'else:return '不及格'if __name__ == '__main__':import doctestdoctest.testmod()
单元测试函数
test1.py
def grade(sum):if sum > 100 or sum < 0:print('Error')returnelif sum > 90:return '优'elif sum > 80:return '良'elif sum > 70:return '中'elif sum > 60:return '及格'else:return '不及格'if __name__ == '__main__':import doctestdoctest.testmod()
文本文件 test.txt 中保存测试用例:
>>>from test1 import grade
>>> grade(90)
'优'
>>> grade(89)
'良'
>>> grade(65)
'及格'
>>> grade(10)
'不及格'
测试语句:
import doctest
doctest.testfile('test.txt')
【Python】Python中的异常处理相关推荐
- python异常处理时所使用的保留字_下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是...
[单选题]以下不是 Python 语言关键字的选项是 [单选题]给出下面代码: a = input("").split(",") x = 0 while x & ...
- 下列python保留字中、用于异常处理_下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是...
下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是 答:except 在罗马共和国后期,西班牙地区被凯撒征服并占领了.() 答:× 维拉帕米不用于治疗 答:慢性心功能不全 按照交通环 ...
- Python编程中一些异常处理的小技巧
编程中经常会需要使用到异常处理的情况,在阅读了一些资料后,整理了关于异常处理的一些小技巧记录如下. 1 如何自定义异常 1.1 定义异常类 在实际编程中,有时会发现Python提供的内建异常的不够用, ...
- [转载] python getattr_Python中的异常处理
参考链接: Python getattr() 后台回复1024,解锁无限快乐! 异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修 ...
- Python中的异常处理Try...except...finally的使用的简单理解
python中的异常处理 1.Python中的异常处理定义 2.Try-except-finally的使用 3.代码 4.运行结果 1.Python中的异常处理定义 在程序运行的过程中,如果发生了错误 ...
- 警惕Python编程中异常处理结构可能的坑
推荐一本用于修炼Python编程内功的好书<Python程序设计开发宝典>(本文封面图片),扫码了解详情(京东链接): ============================== 所谓异 ...
- Python进阶与拾遗8:Python中的异常处理
Python进阶与拾遗8:Python中的异常处理 异常相关概念 异常的定义 异常的角色 常用的异常处理方法 try/except/else/finally语句 raise语句 assert语句 wi ...
- python中的异常处理(小白必看的史上最全异常处理总结!)【上篇】
给大家先上一个完整总结图: 文章目录 异常概述 什么是异常? Python内置异常 异常处理机制 使用try...except捕获异常 异常类的继承体系 多异常捕获 访问异常信息 else块 使用fi ...
- python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解
我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...
- Python语言学习:python语言代码调试—异常处理之详细攻略
Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...
最新文章
- BAPI_PO_CREATE1
- 前端知识点回顾——HTML,CSS篇
- SAP Cloud Platform mobile service的使用过程
- java中几种基本数据类型之间的转换
- 安装wordpress之激活mod_rewrite
- json数据格式分析
- Nginx 配置文件 nginx.conf 说明、内置变量、常用命令
- java 流水_Java之流水号生成器实现
- matlab一维插值extrap,matlab一维插值函数
- 无法获得下列许可solidworks standard无效的(不一致的)使用许可号码(-8,544,0) solidworks2020 (亲测有效)
- Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
- 连接公司办公 快速连接公司协同办公的20款必备软件
- 米6 / MIUI10 自带电子邮件应用设置Exchange邮箱
- 关于yd ui 移动端自适应的方案
- peewee mysql_peewee基本使用
- Rust 错误处理 简记
- vue设置div块隐藏与显示(v-show)
- 最快捷有效的Au贴唱流程攻略
- 相亲其实没有那么难!
- 解决问题:ubuntu双屏显示的时候,鼠标从左屏幕向右切在边界处会卡顿,需要快速移动鼠标冲过
热门文章
- .NET简谈事务、分布式事务处理
- ASP.NET Request.UrlReferrer 问题
- 2014/9/12 play with thesick siyang baby.
- 洛谷 P3367 ---- 【模板】并查集
- 通过jQuery给select元素的option标签添加自定义属性
- oracle创建用户及授权等相关操作
- 有用的 Google Analytics Chrome 插件推荐
- Mysql的高可用方案及主从详细配置
- Linux一个命令创建多个目录:seq命令
- android 屏幕坐标色彩,Android自定义View实现颜色选取器