(更新时间)2021年3月26日 python基础知识(自定义异常)
抛出自定义的异常
你可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类
下面是一个引发异常的例子:
class ShortInputException(Exception):'''自定义的异常类'''def __init__(self, length, atleast):#super().__init__()self.length = lengthself.atleast = atleastdef main():try:s = input('请输入 --> ')if len(s) < 3:# raise引发一个你定义的异常raise ShortInputException(len(s), 3)except ShortInputException as result:#x这个变量被绑定到了错误的实例print('ShortInputException: 输入的长度是 %d,长度至少应是 %d'% (result.length, result.atleast))else:print('没有异常发生.')main()
运行结果如下:
注意
- 以上程序中,关于代码#super().init()的说明
这一行代码,可以调用也可以不调用,建议调用,因为__init__方法往往是用来对创建完的对象进行初始化工作,如果在子类中重写了父类的__init__方法,即意味着父类中的很多初始化工作没有做,这样就不保证程序的稳定了,所以在以后的开发中,如果重写了父类的__init__方法,最好是先调用父类的这个方法,然后再添加自己的功能
(更新时间)2021年3月26日 python基础知识(自定义异常)相关推荐
- (更新时间)2021年3月26日 python基础知识(模块的导入)
模块 <1>Python中的模块 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用impo ...
- (更新时间)2021年3月24日 python基础知识(文件和文件夹相关操作)
文件和文件夹相关操作 有些时候,需要对文件进行重命名.删除等一些操作,python的os模块中都有这么功能 1. 文件重命名 os模块中的rename()可以完成对文件的重命名操作 rename(需要 ...
- (更新时间)2021年3月24日 python基础知识(魔法方法)
1.魔法方法 在 python 的类中,有一类方法,这类方法以 `两个下划线开头` 和`两个下划线结尾`, 并且在`满足某个特定条件的情况下,会自动调用`. 这类方法,称为魔法方法如何学习魔法方法: ...
- (更新时间)2021年3月21日 python基础知识(函数的返回值)
1.函数返回值 <1>"返回值"介绍 所谓"返回值",就是程序中函数完成一件事情后,最后给调用者的结果 <2>带有返回值的函数 想要在函 ...
- (更新时间)2021年3月21日 python基础知识(函数的定义和使用)
函数定义和调用 <1>定义函数 定义函数的格式如下: def 函数名():代码 demo: # 定义一个函数,能够完成打印信息的功能 def print_info():print('--- ...
- (更新时间)2021年5月11日 MongoDB数据库 MongoDB面试题
MongoDB高频面试题 文章目录 MongoDB高频面试题 1.MongoDB是什么? 2.MongoDB有哪些特点? 3.MySQL与MongoDB之间最基本的差别是什么? 4.monogodb中 ...
- (更新时间)2021年5月15日 SqlServer数据库 SqlServer面试题
数据库SqlServer笔试题 文章目录 数据库SqlServer笔试题 一.数据库基础知识(通用)篇 1.说说主键.外键.超键.候选键 2.为什么用自增列作为主键? 3.触发器的作用是什么? 4.什 ...
- (更新时间)2021年5月18日 C#.NET笔试题 高级篇
C#.NET笔试题 高级进阶篇 文章目录 C#.NET笔试题 高级进阶篇 1.说说什么是架构模式. 2.架构的5大要素是哪5大要素? 3.说说什么事集群,什么是分布式. 4.说说对Redis的理解 5 ...
- (更新时间)2021年5月12日 redis数据库 Redis面试题
Redis高频面试题 文章目录 Redis高频面试题 1.什么是Redis?简述它的优缺点? 2.Redis相比memcached有哪些优势? 3.Redis支持哪几种数据类型? 4.Redis主要消 ...
最新文章
- thinkphp url去掉index.php,thinkphp 去掉URL 里面的index.php(?s=)
- c++------------提取文件中的信息
- PHP 获取IP地址 获取当前时间 写文件
- java对象复制到另一个对象中_spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)...
- JDBC操作数据库的基本流程
- ABP框架使用拦截器动态配置租户过滤器
- python 优先队列_python中使用优先队列
- Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
- Python 一键转 Java?“Google 翻译”你别闹
- hashset去重原理_快手:Druid精确去重的设计与实现
- K3CLOUD业务系统编码规则设置
- 拼多多平台API接入文档
- 菜鸟驿站进军万亿社区市场
- Mysql 实现多种逻辑删除方案
- html 自动打开超链接,JS、html打开超链接的几种形式
- [cocos2d-x]SpaceFighting[安卓/IOS都适用]
- CTFSHOW WEB入门
- 【单片机毕业设计】【mcuclub-jj-051】基于单片机的书桌的设计
- Java怎么屏蔽骂人的词_表示嫌弃一个人的词语-高级的含蓄的骂人的话-形容很反感一个人成语...
- 中兴事件再起,美国发布“晋华禁令”,这次遭殃的是存储芯片DRAM