在Python中,raise
关键字用于抛出异常。你可以使用它来引发内置的异常,也可以定义自己的异常类。以下是两种常见的用法:
- 引发内置异常:
Python有许多内置的异常类,如ValueError
、TypeError
等。你可以使用raise
语句直接引发这些异常,并传递相关的参数(如果有的话)。
def divide(a, b): if b == 0: raise ValueError("除数不能为0") return a / b try: result = divide(10, 0) except ValueError as e: print(e) # 输出:除数不能为0
- 引发自定义异常:
除了内置的异常类,你还可以创建自己的异常类。这通常是通过继承BaseException
或其子类(通常是Exception
)来完成的。
class MyCustomError(Exception): def __init__(self, message): self.message = message def check_age(age): if age < 0: raise MyCustomError("年龄不能为负数") return True try: check_age(-5) except MyCustomError as e: print(e.message) # 输出:年龄不能为负数
在上面的例子中,我们定义了一个名为MyCustomError
的自定义异常类,并在check_age
函数中使用raise
语句引发它。注意,在引发自定义异常时,我们通常会将相关的信息(如错误消息)作为参数传递给异常类的构造函数。