****大学
《Python语言程序设计》教案
20-20学年第学期
课程名称:Python语言程序设计
授课教师:
职称:
开课部门:
20**年*月*日
****大学
《Python语言程序设计》教案
授课教师
班级
学时
授课日期
教学任务
项目八:异常处理——系统异常处理预案
授课方式
□理论讲授
R理实一体
授课地点
□多媒体教室
R实训室
主要参考资料
教材、Python官方文档、网络技术社区等
教学目标
素质目标:
①培养系统容灾设计思维;
②强化代码健壮性意识,理解异常处理对项目连续性的意义;
③树立数据安全伦理观,通过异常防护机制降低信息泄露风险。
知识目标:
①掌握程序错误三大类型(语法/运行时/逻辑错误);
②精通异常捕获结构(try-except-else-finally);
③理解上下文管理器(with)的资源保障机制;
④掌握主动抛出异常(raise)的场景与方法。
能力目标:
①针对旅游系统设计多级异常预案;
②精准捕获并处理文件/网络/计算异常;
③通过自定义异常提升业务逻辑安全性。
教学内容
1.异常基础
-错误类型、异常类体系、捕获机制
2.异常处理结构
-try-except嵌套、多异常捕获、finally保障
3.高级异常管理
-with上下文管理器、主动抛出异常
重点难点
重点:错误类型、异常类体系、捕获机制
难点:try-except嵌套、多异常捕获
教学方法
启发式教学法、分组讨论法、演示法、案例讨论法
素材资源
R文本素材□实物展示RPPT幻灯片
□音频素材R视频素材R动画素材
□图形/图像素材R网络资源□其他
课后作业
①设计预约超量预案:用try-except捕获OverflowError,finally释放库存锁;
②自定义异常类InvalidSeasonError:当淡季票价策略误用于旺季时主动抛出。
PAGE
PAGE3
教学过程及内容
一、导入新课【约10分钟】
(1)系统风险切入:
智慧旅游系统需7×24小时稳定运行,文件丢失、网络中断、计算超载等异常可能引发服务瘫痪。异常处理如同系统免疫机制——精准捕获错误(如ZeroDivisionError)、执行预案、保障核心功能。
(2)问题链设计:
提问①:若景点预约量突增至10万次/秒,除零错误导致服务崩溃,如何通过异常处理避免?(引出运行时异常捕获);
提问②:finally子句为何能成为终极防线?(关联资源释放的绝对性)。
(3)社会价值关联:
异常处理的完备性关乎公众服务信任度,呼应国家信息系统安全标准。
二、新知识点、技能点讲解【约70分钟】
新课讲解1:异常基础【约25分钟】
(1)错误三分类:
①语法错误:编码时即被拦截(如缩进错误IndentationError);
②运行时错误:执行中触发(如文件不存在FileNotFoundError);
③逻辑错误:结果偏差但无报错(如景点容量计算公式错误)。
(2)异常类体系:
①顶层父类BaseException;
②常规错误父类Exception(需重点捕获);
③具体子类:IndexError(越界访问)、ValueError(无效参数)等。
(3)捕获必要性:
未处理异常将导致服务中断,如ZeroDivisionError使预约系统崩溃,影响公共秩序。
新课讲解2:异常处理结构【约30分钟】
(1)层级化捕获:
①try-except:基础防护(如捕获网络超时TimeoutError);
②try-except-else:无异常时执行业务逻辑;
③try-finally:绝对执行资源清理(如关闭数据库连接)。
(2)多异常处理:
单结构捕获多异常:
except(ValueError,TypeError)ase:处理参数无效或类型错误。
(3)finally特性:
无论是否发生异常,finally必执行(如释放文件锁),保障数据完整性。
新课讲解3:高级异常管理【约15分钟】
(1)上下文管理器:
①__enter__():进入时获取资源;
②__exit__():退出时自动释放资源;
③with语法:简化资源管理(withopen()asf替代手动close())。
(2)主动抛出异常:
①创建Exception对象;
②raise触发业务异常(如当预约数超景区容量时,抛出OverflowError);
③自定义异常