单元五

第21课 try/except 异常处理

异常处理
任务场景:异常处理
try 包住可能出错
原理图:try 包住可能出错

一、任务目标

输入非法时不要崩溃——异常处理。

二、核心概念讲清楚

try: ... except ValueError: ...

三、跟着想一遍(小例子)

int("x") 捕获。

易错:裸 except 吞掉一切

正确:先捕获具体异常

想一想:异常和 if 校验如何配合?

四、解题思路

任务:输入非法时不要崩溃——异常处理。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「输入非法时不要崩溃——异常处理。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3对照参考代码跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:输入非法时不要…用print把结果说出来,…对照参考代码跑通后,只改一…

五、语句功能讲解

下面只列出本课首次出现的语句/函数。已在前面课讲过的不再重复;先认新语句,再对照参考代码。

语句作用本课用法
try尝试执行,出错可捕获与 except 配合处理异常。
except()捕获错误后的处理避免程序直接崩溃。

六、知识点讲解

异常处理:可能出错的步骤放进 try,except 里给出友好提示或补救,避免程序直接崩溃。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

在下方 Mixly 文本编程中载入、运行与检查(浏览器即可,不必本机安装 Python)。

防护转换

参考代码(对照抄写到下方 Mixly)
raw="12"
try:
    n=int(raw)
    print("数字",n)
except ValueError:
    print("请输入整数")
raw2="hi"
try:
    int(raw2)
except ValueError:
    print("请输入整数")

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:只抄参考代码,不看运行输出,也不改参数验证。

  2. 判断:先跑通,再对照「try」改一处输入/参数,确认输出按预期变化;答错小测时读讲解。

  3. try/except 用于?

  4. int("a") 常触发?

九、本节小结

防御系统让游戏更稳健。