温馨提示×

Python中raise如何抛出异常

小樊
86
2024-10-11 08:26:44
栏目: 编程语言

在Python中,raise关键字用于抛出异常。你可以使用它来引发内置的异常,也可以定义自己的异常类。以下是两种常见的用法:

  1. 引发内置异常

Python有许多内置的异常类,如ValueErrorTypeError等。你可以使用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
  1. 引发自定义异常

除了内置的异常类,你还可以创建自己的异常类。这通常是通过继承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语句引发它。注意,在引发自定义异常时,我们通常会将相关的信息(如错误消息)作为参数传递给异常类的构造函数。

0