raise关键字

在 Python 中,raise 是一个关键字,用于 手动抛出异常。它的作用是中断当前代码的执行,并将控制权交给最近的异常处理器(即 try...except 块),如果没有被捕获,程序将终止并打印错误信息。


✅ 基本语法

raise ExceptionType("错误信息")

🔍 常见用法

1. 抛出内置异常

raise ValueError("无效的参数")

2. 抛出自定义异常

你可以继承 Exception 类来创建自己的异常:

class MyCustomError(Exception):
    pass

raise MyCustomError("这是一个自定义错误")

3. 重新抛出当前异常(在 except 块中)

try:
    1 / 0
except ZeroDivisionError:
    print("捕获到除零错误,继续抛出")
    raise  # 重新抛出当前异常

⚠️ 注意事项

  • 一旦 raise 被执行,后续代码不会继续执行
  • 可以不带参数使用 raise,但只能在 except 块中,用于重新抛出当前异常。
  • 不建议用 raise 来控制流程,应该只用于真正的错误情况。

✅ 示例:检查输入是否为正整数

def check_positive(n):
    if not isinstance(n, int):
        raise TypeError("输入必须是整数")
    if n <= 0:
        raise ValueError("输入必须是正整数")
    print(f"{n} 是一个正整数")

check_positive(-5)

输出:

ValueError: 输入必须是正整数

如果你有具体的使用场景或代码片段,我可以帮你分析哪里该用 raise,或者如何优雅地处理异常。

posted @ 2025-08-26 15:50  数理生风  阅读(145)  评论(0)    收藏  举报