【学习笔记】35、定义自己的异常类
定义自己的异常类
定义自己的错误类型有很多好处,比如可以清楚地显示出潜在的错误,让函数和模块更具可维护性。自定义错误类型还可以用来提供额外的调试信息。这都有助于改进Python代码,使其更易于理解、调试和维护。
比如下例中的函数,对输入的人名字符串进行校验。验证失败就会引发ValueError异常。
虽然知道上面的报错与某种错误的值有关,但是为了处理这个异常,仍需要查看validate()的实现,会耗费很长时间。
下面我们引入自定义异常类型来表示名字验证失败,基于Python内置的ValueError创建新的异常类。
一般情况下自定义异常都派生自Exception这个异常基类或者其他内置的Python异常,如ValueError或TypeError。
无论是公开发布Python软件包,还是为公司创建可重用的模块,最好为模块创建一个自定义异常基类,然后从中派生所有其他异常。这样用户就可以编写try...except语句来处理软件包中的所有自定义错误,无需手动捕获各个具体的异常。
【学习笔记】35、定义自己的异常类相关推荐
- C++学习笔记-第4单元-对象和类(基础)
C++学习笔记 文章目录 C++学习笔记 第4单元 对象和类(基础) 单元导读 4.1 用类创建对象 4.1.1 对象和类 4.1.2 创建对象并访问 4.2 对象拷贝.分离声明与实现 4.2.1 对 ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...
- Java快速入门学习笔记7 | Java语言中的类与对象
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- Windows异常学习笔记(一)—— CPU异常记录模拟异常记录
Windows异常学习笔记(一)-- CPU异常记录 基础知识 异常的分类 CPU异常 分析中断处理函数 _KiTrap00 分析 CommonDispatchException 总结 软件模拟异常 ...
- QT学习笔记(十一):QString类
QT学习笔记(十一):QString类 1.概述 2.编辑操作 3.查询操作 3.转换操作 1.概述 1.1 QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中.QStr ...
- Guava学习笔记:简化异常处理的Throwables类
Guava学习笔记:简化异常处理的Throwables类 参考文章: (1)Guava学习笔记:简化异常处理的Throwables类 (2)https://www.cnblogs.com/peida/ ...
- 影像组学视频学习笔记(35)-基于2D超声影像的影像组学特征提取、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/f82d30289d68 来源:简书,已获转载授权 RadiomicsWorld.com "影像组学世界" ...
- Python学习笔记(十五):类基础
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...
- java学习笔记6--类的继承、Object类
接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...
最新文章
- cuda安装教cudnn安装显卡问题
- Java 技术篇-IntelliJ IDEA修改类名后运行提示找不到或无法加载主类问题解决方法
- 数据仓库的架构与设计
- .NET/ASP.NET MVC Controller 控制器(IController控制器的创建过程)
- 微课|中学生可以这样学Python(例4.3):百钱买百鸡
- 运用tms320c54x汇编语言编写定点数运算,浮点数运算程序,运用TMS320C54x汇编语言编写定点数运算、浮点数运算程序...
- C#调用大漠插件,发送QQ和微信消息
- 【蓝桥杯Java组】数论基础—素数筛、最大公约数、最小公倍数
- PIC仿真器接口定义及连接注意事项
- 僵尸网络(CC服务器)
- oracle latch chain,Oracle Latch及latch矛盾
- 程序员520告白Html+Js+Css花瓣相册网页模板❤程序员表白必备
- 计算机应用职业的外部环境,完整的职业生涯规划书范文
- python爬虫爬取qq音乐热歌榜的歌曲到本地
- Alist云盘视频加密助手:支持云盘视频文件加密与在线播放,不用再担心视频文件被和谐了!
- Oracle用户被锁定问题
- dlink客户端 android,DLink IP Cam Viewer by OWLR
- Anaconda 下安装xgboost的最简单最快速方法
- 求n以内的所有素数(质数)个数
- Minecraft开服ipv6配置