AI编程助手
AI免费问答

如何创建自定义异常并正确抛出?

WBOY   2024-08-14 21:33   914浏览 原创

创建自定义异常类:继承 python 内置的 exception 类。定义一个构造函数接收异常信息。可选:重写 __str__() 方法提供自定义异常消息。抛出自定义异常:使用 raise 关键字。实战案例:验证整数列表中所有数字在指定范围内。创建自定义异常类 invalidrangeexception。调用 validate_range() 函数进行验证。使用 try-except 捕获 invalidrangeexception 并打印错误信息。

如何创建自定义异常并正确抛出?

如何创建自定义异常并正确抛出

创建自定义异常类

要创建自定义异常类,请执行以下步骤:

  1. 继承 Python 内置的 Exception 类。
  2. 定义一个构造函数以接收与异常相关的详细信息。
  3. 可选:重写 __str__() 方法以提供异常的自定义消息。
class CustomException(Exception):
    def __init__(self, message):
        super().__init__(message)

抛出自定义异常

要抛出自定义异常,请使用 raise 关键字。

raise CustomException("错误消息")

实战案例

场景:验证整数列表中所有数字的范围。

自定义异常类:

class InvalidRangeException(Exception):
    def __init__(self, number, min_range, max_range):
        super().__init__(f"数字 {number} 不在 {min_range} 和 {max_range} 范围内")

调用代码:

def validate_range(numbers, min_range, max_range):
    for number in numbers:
        if number  max_range:
            raise InvalidRangeException(number, min_range, max_range)

用法:

try:
    validate_range([10, 20, 30], 5, 25)
except InvalidRangeException as e:
    print(e)

输出:

数字 10 不在 5 和 25 范围内
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。