Python 异常处理详解:参数捕获、触发与自定义异常

陆遥
陆遥
发布时间:2026-10-14 | 6人浏览过
原创

本文深入解析 Python 异常处理机制,涵盖异常参数的捕获与元组结构、使用 raise 语句手动触发异常,以及通过继承 Exception 或 RuntimeError 创建自定义异常类。详细讲解实例化、参数传递及错误信息输出,帮助开发者掌握更精准的异常控制技巧。

Python 异常处理详解:参数捕获、触发与自定义异常

异常的参数

在 Python 中,异常对象可以携带额外参数,这些参数通常用于提供关于异常原因的更详细信息。

开发者可以使用 except 语句来捕获这些伴随异常传递的参数,具体实现方式如下所示:

当捕获异常时,变量接收的值通常包含在异常的详细信息中。在元组形式的参数中,该变量可以接收一个或多个值。

这些元组通常包含错误描述字符串、错误代码数字以及错误发生的位置信息。

实例

以下是一个处理单个异常参数的示例:

上述程序执行后的结果如下:

使用 raise 触发异常

触发异常

开发者可以使用 raise 语句主动触发特定的异常。

raise 语句的基本语法格式如下:

在语句中,Exception 代表异常的类型(例如 NameError),必须是标准异常中的一种;args 则是开发者自定义提供的异常参数。

最后一个参数是可选的,在实际应用中较少使用;如果存在,它通常用于传递跟踪异常对象的引用。

实例

异常可以表现为字符串、类或对象。Python 内核提供的异常大多数都是实例化的类,其参数即为该类的实例。

定义一个自定义异常非常简单,示例如下:

注意:为了能够正确捕获异常,except 语句必须使用与抛出时相同的异常类对象或字符串进行匹配。

例如,若要捕获上述定义的异常,except 语句应编写如下:

实例

执行上述代码,输出结果为:

创建用户自定义异常类

用户自定义异常

通过创建新的异常类,程序可以定义专属的异常类型。这些自定义异常类通常继承自 Exception 类,无论是直接继承还是间接继承。

以下是一个与 RuntimeError 相关的实例,其中创建了一个新类,其基类为 RuntimeError,旨在异常触发时输出更丰富的信息。

在 try 语句块中,当用户自定义的异常被触发后,将执行 except 块语句。变量 e 用于创建 Networkerror 类的实例。

在定义上述类之后,你可以按如下方式触发该异常:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表