【Python修仙笔记.8】异常处理护体 - 防御心魔

举报
不惑 发表于 2025/10/20 22:35:22 2025/10/20
【摘要】 故事情节王麻子代码出错,程序崩溃。老头说:“小子,这是心魔!用异常处理护体。”王麻子:“异常?怎么防?”老头:“try except, 捕捉错误,继续运行。”王麻子处理后:“心魔退散,代码稳了!” 编程知识点讲解老头:“try: 代码 except Exception as e: print(e) else: … finally: …”特定异常 like ValueError.老头:“异常...

故事情节

王麻子代码出错,程序崩溃。老头说:“小子,这是心魔!用异常处理护体。”

王麻子:“异常?怎么防?”

老头:“try except, 捕捉错误,继续运行。”

王麻子处理后:“心魔退散,代码稳了!”

编程知识点讲解

老头:“try: 代码 except Exception as e: print(e) else: … finally: …”

特定异常 like ValueError.

老头:“异常像心魔,处理好,修仙无阻!”

实战代码示例

try:
    x = 1 / 0
except ZeroDivisionError as e:
    print("不能除0!", e)
else:
    print("成功")
finally:
    print("结束")

try:
    num = int("abc")
except ValueError:
    print("转换失败")

趣味练习题

  1. 写try except处理除0错误。

  2. 处理文件打开异常,如果文件不存在打印消息。

  3. 用finally确保资源清理。

练习题答案与解释

  1. 处理除0错误:

    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("不能除以0!")
    

    解释: 使用try-except捕捉ZeroDivisionError,防止程序崩溃,并打印友好消息。

  2. 文件打开异常:

    try:
        with open('nonexistent.txt', 'r') as f:
            print(f.read())
    except FileNotFoundError:
        print("文件不存在!")
    

    解释: 尝试打开不存在的文件,捕捉FileNotFoundError,打印消息。这处理了常见IO错误。

  3. 使用finally清理:

    try:
        f = open('file.txt', 'r')
        content = f.read()
        print(content)
    except Exception as e:
        print("发生错误:", e)
    finally:
        f.close()
        print("文件已关闭")
    

    解释: finally块确保文件关闭,无论是否发生异常。这演示了资源管理。

本章知识点总结

  • try except捕捉异常.

  • else成功时, finally总是执行.

  • 护体神功,让代码 robust!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。