在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
语句引发它。注意,在引发自定义异常时,我们通常会将相关的信息(如错误消息)作为参数传递给异常类的构造函数。