版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自定义异常—检测系统密码异常任务描述输入密码,密码少于8位抛出异常并输出异常。
当程序发生错误时系统都会自动抛出异常,那么,Python中能不能手动抛出异常?回答是可以的。Python中使用raise语句完成手动抛出异常。01抛出异常02自定义异常03任务实现抛出异常01
抛出异常raise语句后可以添加具体的异常类,从而引发相应的异常。raise异常类名譬如:raiseNameError使用异常类引发异常
抛出异常譬如:raiseNameError()raise语句后也可以添加异常类的对象,从而引发相应的异常。使用异常对象引发异常raise异常对象
抛出异常raise语句后若不添加任何内容,可重新引发刚才发生的异常,即由异常引发异常。try:num=10print(n)exceptNameErrorase:print(f'异常的原因是{e}')譬如:raiseraise重新引发异常
异常的传递若程序中产生的异常没有被处理,产生的异常会一层一层向上传递,直至最上面一层也未做处理,就会程序崩溃。defget_width():num=int(input("请输入除数:"))width_len=10/numreturnwidth_lendefcalc_area():width_len=get_width()returnwidth_len*width_lendefshow_area():try:area_val=calc_area()print(f"正方形的面积是:{area_val}")exceptZeroDivisionErrorase:print(f"捕捉到异常:{e}")譬如除数为0产生异常ZeroDivisionError,函数中并没有对这一异常进行处理,所以就会向上层传递这个异常上一层函数也未处理,继续向上传递这个异常该层包含异常处理代码并捕获了ZeroDivisionError异常
assert断言语句assert断言语句用于判定一个表达式是否为真,如果表达式为True,不做任何操作,否则引发AssertionError异常。assert表达式[,参数]这里,表达式是assert语句的判定对象,参数通常是一个自定义异常或显示异常描述信息的字符串。譬如不带参数带参数age=int(input('请输入年龄:'))assertage>=18,'年龄必须在18岁及以上'print("可以参加")有关异常的描述自定义异常02自定义异常Python允许程序开发人员自定义异常。自定义异常类的方法很简单,只需创建一个类,让它继承Exception类或其它异常类即可。classCustomError(Exception):pass#空语句,保证程序结构的完整性譬如classCustomError(Exception):passraiseCustomError自定义异常成功自定义异常自定义异常的应用classCustomError(Exception):passtry:raiseCustomError('错误代码')exceptCustomErrorase:print(e)raise任务实现——检测系统密码异常03根据题意,首先定义密码输入函数input_password(),当输入的密码pasword长度不足8位则自定义异常exp并抛出异常。主程序使用try…except捕获调用输入密码函数的异常,并输出异常。
任务分析程序代码根据抛出异常方法,程序如下:definput_password():pasword=input("请输入密码:")iflen(pasword)>=8:returnpaswordelse:
exp=Exception("密码长度小于8")
raise
exptry:print(input_password())exceptExceptionasresult:print(result)任务总结
异常除了系统自动抛出外,还可以通过raise语句手动抛出。用户可以使用异常类引发异常、使用异常对象引发异常,还可以重新引发异常。若程序中产生的异常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年LED灯具行业研究报告
- 关于友情作文初中800字(47篇)
- 三年级上册语文教案 作文指导:观察日记(1) 部编版
- 2024年PS再生料项目申请报告
- 2024年重水堆核电站及配套产品项目规划申请报告
- 2024年聚氯乙烯树脂项目申请报告模板
- 2024年高考物理总复习强化练 双星及多星模型
- 2024年橡胶胶带项目提案报告
- 2024年贵金属压延加工材项目规划申请报告范样
- 2024年晋能控股煤业集团宏远工程建设有限责任公司招聘笔试冲刺题(带答案解析)
- 蜜淘全球购网站高保真原型设计
- 小学数学专题讲座(课堂PPT)
- 小学劳动教育与综合实践活动课程融合策略探究 论文
- XJJ 081-2017 建设工程资料管理规程
- 管理文秘与公文写作智慧树知到答案章节测试2023年山东师范大学
- 社会主义发展史智慧树知到答案章节测试2023年齐鲁师范学院
- (完整版)北京师范大学学术规范测试答案
- 无人机装调检修工理论考试题库及答案
- GB/T 37400.11-2019重型机械通用技术条件第11部分:配管
- 五脏风寒积聚病脉证并治第十一
- 船用电线电缆IEC60092培训课件
评论
0/150
提交评论