当前位置: 首页> 科技> IT业 > 第二十三讲 python中自定义异常

第二十三讲 python中自定义异常

时间:2025/7/9 11:33:54来源:https://blog.csdn.net/wei18791957243/article/details/141393065 浏览次数:0次

目录

1.自定义异常

1.1 自定义异常的步骤

1.2 示例

2.使用 raise 语句抛出异常

2.1 基本用法

2.2 示例


1.自定义异常

在 Python 中,自定义异常通常是通过创建一个新的类来实现的,这个类继承自 Exception 类或其子类。这样,可以为你的异常提供更多的上下文信息,或者创建特定的错误类型以便更清晰地表达错误原因。

1.1 自定义异常的步骤

  • 创建异常类:定义一个新类,继承自 Exception 类。
  • 初始化异常信息:可以在自定义异常类中定义构造函数(__init__ 方法),以接受并存储额外的错误信息。
  • (可选)添加方法:可以定义额外的方法来处理异常相关的信息或逻辑。

1.2 示例

class CustomError(Exception):"""自定义异常类"""def __init__(self, message, code=None):super().__init__(message)self.code = codedef __str__(self):# 返回自定义的异常信息return f"{self.args[0]} (Code: {self.code})"# 使用自定义异常
def divide(a, b):if b == 0:raise CustomError("不允许除以零", code=1001)return a / btry:result = divide(10, 0)
except CustomError as e:print(f"发生错误: {e}")

打印结果

发生错误: 不允许除以零 (Code: 1001)

示例中:

  • CustomError 继承自 Exception 类,并扩展了初始化方法以接受错误信息和错误代码。
  • divide 函数在除数为零时引发 CustomError
  • 异常被捕获并处理,异常信息包括了自定义的错误代码。

2.使用 raise 语句抛出异常

raise 语句用于引发异常。可以使用 raise 来引发预定义的异常,也可以引发定义的异常。raise 语句可以单独使用,也可以与 try-except 语句结合使用来处理异常。

2.1 基本用法

  • 引发预定义异常:使用 raise 语句引发标准库中的异常。
  • 引发自定义异常:使用 raise 语句引发你自己定义的异常类。

2.2 示例

# 引发内置异常
def check_positive(value):if value <= 0:raise ValueError("值必须为正")try:check_positive(-1)
except ValueError as e:print(f"错误: {e}")# 引发自定义异常
class InvalidInputError(Exception):"""自定义异常类"""passdef validate_input(value):if not isinstance(value, int):raise InvalidInputError("输入必须是整数")try:validate_input("string")
except InvalidInputError as e:print(f"自定义错误: {e}")

打印结果:

错误: 值必须为正
自定义错误: 输入必须是整数
  • check_positive 函数检查一个值是否为正数,如果不是,则引发 ValueError
  • validate_input 函数检查输入类型是否为整数,如果不是,则引发自定义的 InvalidInputError

关键字:第二十三讲 python中自定义异常

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: