⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Python 异常处理

Python 异常处理 · 难度:入门 · +10XP

Python 异常处理

异常(Exception)是程序运行时出现的错误。Python使用try/except机制来捕获并处理异常,避免程序崩溃,让程序更加健壮。

基本语法

try:
    # 可能出错的代码
    num = int(input("请输入数字:"))
    result = 100 / num
except ValueError:
    print("输入的不是有效数字!")
except ZeroDivisionError:
    print("不能除以零!")
except Exception as e:
    print(f"其他错误:{e}")
else:
    print(f"计算成功,结果:{result}")
finally:
    print("无论是否出错,都会执行这里")

常见内置异常

异常类型触发条件示例
ValueError值不正确int("abc")
TypeError类型错误"a" + 1
IndexError索引越界[1,2][5]
KeyError字典键不存在{}["x"]
FileNotFoundError文件不存在open("no.txt")
ZeroDivisionError除以零1/0
AttributeError属性不存在None.upper()
ImportError模块导入失败import xxx

自定义异常

class AgeError(Exception):
    """年龄不合法异常"""
    def __init__(self, age, msg="年龄必须在0-150之间"):
        self.age = age
        self.msg = msg
        super().__init__(f"{msg},当前值:{age}")

# 使用自定义异常 def set_age(age): if age < 0 or age > 150: raise AgeError(age) print(f"年龄设置为:{age}")

try: set_age(-5) except AgeError as e: print(f"出错:{e}")

实战练习

  1. 写一个除法计算器,处理输入非数字和除数为零两种情况
  2. 实现一个安全的文件读取函数,文件不存在时返回空字符串而不是报错
  3. 创建一个自定义异常 PasswordTooShort,密码不足8位时抛出
  4. 用try/except从字典中获取值,键不存在时返回默认值0

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 152 篇
0 完成
🔥 0