常见语法错误

  • 拼写错误
  • 程序不符合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或者异常2
  • except<异常名> 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中的异常处理相关推荐

  1. python异常处理时所使用的保留字_下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是...

    [单选题]以下不是 Python 语言关键字的选项是 [单选题]给出下面代码: a = input("").split(",") x = 0 while x & ...

  2. 下列python保留字中、用于异常处理_下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是...

    下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是 答:except 在罗马共和国后期,西班牙地区被凯撒征服并占领了.() 答:× 维拉帕米不用于治疗 答:慢性心功能不全 按照交通环 ...

  3. Python编程中一些异常处理的小技巧

    编程中经常会需要使用到异常处理的情况,在阅读了一些资料后,整理了关于异常处理的一些小技巧记录如下. 1 如何自定义异常 1.1 定义异常类 在实际编程中,有时会发现Python提供的内建异常的不够用, ...

  4. [转载] python getattr_Python中的异常处理

    参考链接: Python getattr() 后台回复1024,解锁无限快乐! 异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修 ...

  5. Python中的异常处理Try...except...finally的使用的简单理解

    python中的异常处理 1.Python中的异常处理定义 2.Try-except-finally的使用 3.代码 4.运行结果 1.Python中的异常处理定义 在程序运行的过程中,如果发生了错误 ...

  6. 警惕Python编程中异常处理结构可能的坑

    推荐一本用于修炼Python编程内功的好书<Python程序设计开发宝典>(本文封面图片),扫码了解详情(京东链接): ============================== 所谓异 ...

  7. Python进阶与拾遗8:Python中的异常处理

    Python进阶与拾遗8:Python中的异常处理 异常相关概念 异常的定义 异常的角色 常用的异常处理方法 try/except/else/finally语句 raise语句 assert语句 wi ...

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

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

  9. python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解

    我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...

  10. Python语言学习:python语言代码调试—异常处理之详细攻略

    Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...

最新文章

  1. BAPI_PO_CREATE1
  2. 前端知识点回顾——HTML,CSS篇
  3. SAP Cloud Platform mobile service的使用过程
  4. java中几种基本数据类型之间的转换
  5. 安装wordpress之激活mod_rewrite
  6. json数据格式分析
  7. Nginx 配置文件 nginx.conf 说明、内置变量、常用命令
  8. java 流水_Java之流水号生成器实现
  9. matlab一维插值extrap,matlab一维插值函数
  10. 无法获得下列许可solidworks standard无效的(不一致的)使用许可号码(-8,544,0) solidworks2020 (亲测有效)
  11. Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
  12. 连接公司办公 快速连接公司协同办公的20款必备软件
  13. 米6 / MIUI10 自带电子邮件应用设置Exchange邮箱
  14. 关于yd ui 移动端自适应的方案
  15. peewee mysql_peewee基本使用
  16. Rust 错误处理 简记
  17. vue设置div块隐藏与显示(v-show)
  18. 最快捷有效的Au贴唱流程攻略
  19. 相亲其实没有那么难!
  20. 解决问题:ubuntu双屏显示的时候,鼠标从左屏幕向右切在边界处会卡顿,需要快速移动鼠标冲过

热门文章

  1. .NET简谈事务、分布式事务处理
  2. ASP.NET Request.UrlReferrer 问题
  3. 2014/9/12 play with thesick siyang baby.
  4. 洛谷 P3367 ---- 【模板】并查集
  5. 通过jQuery给select元素的option标签添加自定义属性
  6. oracle创建用户及授权等相关操作
  7. 有用的 Google Analytics Chrome 插件推荐
  8. Mysql的高可用方案及主从详细配置
  9. Linux一个命令创建多个目录:seq命令
  10. android 屏幕坐标色彩,Android自定义View实现颜色选取器