版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
异常基础教学目标1.了解什么是异常?
2.掌握内置异常类型
3.掌握itry-except基本语法
4.学习处理特定异常异常是Python程序运行时发生的错误或意外情况,导致正常执行流程中断,继承自BaseException类,用于处理运行时问题如除零或文件不存在。核心概念:异常不同于语法错误(编译时检测),它是运行时错误。异常处理允许程序优雅地响应错误,而非崩溃。例如,在文件操作中,如果文件不存在,程序可捕获异常并提示用户。异常传播:如果未处理,会向上冒泡直至程序终止。1、什么是异常?
#一个简单的异常示例a=10b=0result=a/b#这里会引发ZeroDivisionError异常,因为除以零print(result)#这行不会执行,程序中断异常处理的重要性在于提高程序的可靠性和用户体验,避免小错误导致整个应用崩溃。核心概念:在实际开发中,异常处理用于输入验证、网络连接或数据库操作,确保程序能恢复或提供反馈。例如,在Web应用中,处理网络异常可重试请求。未处理的异常会导致资源泄漏或数据丢失。Python的异常机制是零成本的(不抛出时无开销),鼓励广泛使用。2.异常的重要性
#未处理异常的后果defdivide(x,y):#定义除法函数returnx/y#可能引发异常print(divide(5,0))#调用函数,引发异常,程序终止print("Thiswon'tprint")#后续代码不执行Python提供丰富的内置异常类型,形成层次结构,便于分类处理。核心概念:所有异常继承自Exception(BaseException的子类),常见如ValueError(无效值)、TypeError(类型错误)、FileNotFoundError(文件未找到)。层次结构允许捕获广义异常(如Exception)或具体类型。可通过help()或dir()查看异常。3.内置异常类型#常见内置异常示例try:int("abc")#引发ValueError:无效整数转换exceptValueErrorase:#捕获具体异常print(e)#输出:invalidliteralforint()withbase10:'abc'open("nonexistent.txt")#引发FileNotFoundErrortry-except是异常处理的基本结构:try块执行可能出错的代码,except块处理异常。核心概念:如果try中无异常,except跳过;否则,跳转到except。Python支持多异常捕获。4.try-except基本语法#基本try-except语法try:#尝试块x=int(input("Enteranumber:"))#可能引发ValueErrorprint(10/x)#可能引发ZeroDivisionErrorexcept:#捕获所有异常(不推荐,详见后续)print("Anerroroccurred.")#处理逻辑处理特定异常使用exceptExceptionType:,避免捕获无关错误。核心概念:指定异常类型如exceptZeroDivisionError:,提高精确性。ase访问异常对象获取细节。优先具体异常。5.处理特定异常#处理特定异常try:result=10/0#引发ZeroDivisionErrorexceptZeroDivisionError:#特定捕获print("Cannotdividebyzero!")#自定义消息exceptExceptionase:#广义捕获print(f"Unexpectederror:{e}")#输出异常信息异常未捕获向上传播,直至处理或终止。在Python中,支持链式传播。核心概念:传播允许层级处理。6.异常传播机制definner():raiseValueError("Inner")#抛出defouter():inner()#调用,未处理传播outer()#异常传播到顶层用户异常继承Exception或子类。在Python中,创建层次自定义。核心概念:继承分类自定义异常。7.用户定义异常继承classBaseError(Exception):pass#基异常classSpecificError(BaseError):pass#子异常raiseSpecificError("Detail")#抛出小结1.异常是Python程序运行时发生的错误,继承自BaseException类,与语法错误不同,它是运行时错误。2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件工程开发项目经理代码质量控制KPI考核表
- 广西玉林市容县2027届四上数学期末检测试题含解析
- 木工手工艺技能考核表
- 交通安全教育:遵守规则保平安小学主题班会课件
- 3.5 二力平衡教学设计初中物理沪教版上海八年级第一学期-沪教版上海2007
- 抵制网络欺凌共建和谐友好空间小学主题班会课件
- 航空运输安全管理规程与紧急处置流程手册
- 山西省忻州市宁武县2027届四年级数学第一学期期末质量跟踪监视模拟试题含解析
- 构建阳光心态小学高年级主题班会课件
- 河南省洛阳市伊川县2027届六年级数学第一学期期末预测试题含解析
- 高考必备文学常识
- 货车合作经营协议书(共5篇)
- 光伏电站应急演练总结
- 2023年十堰市竹溪县事业单位笔试真题
- 危险货物运输登记表
- 现代果树生产技术-葡萄教案
- 男性生殖系统超声诊断课件
- 道亨软件概述
- MLCC工艺流程介绍培训课件
- GB/T 95-2002平垫圈C级
- GB/T 18595-2001一般照明用设备电磁兼容抗扰度要求
评论
0/150
提交评论