Python 引发异常时遵循的最佳编程实践

2023年 7月 10日 18.5k 0

正确、有效地引发异常可以让你开发出更健壮的程序和更高质量的代码。

下面是几个建议

1. 优先考虑特定异常而不是通用异常

应该提出最适合自己需要的特定异常,

这种做法可以帮助你追踪并修复问题和错误,而且也可以更加快速地定位核心问题。

try:
    # 一些代码
except FileNotFoundError:
    # 处理文件不存在的情况
except ValueError:
    # 处理数值转换错误的情况

2. 提供错误消息并避免没有消息的异常

为所有异常编写描述性和明确的错误消息,

这样有问题的时候才能更加明确问题定位的方向。

try:
    num = int("a")
except ValueError as e:
    raise ValueError(f"无效的输入数据,请输入数字:{e}")

3. 优先使用内置异常而不是自定义异常

尝试为代码中的每个错误找到合适的内置异常,

确保与 Python 生态系统的其余部分保持一致,

这样作为熟悉常见异常的 Python 开发人员也能更好地理解代码。

def divide_numbers(a, b):
    try:
        return a / b
    except ZeroDivisionError:
        raise ZeroDivisionError("除数不能为零")

4. 避免引发 AssertionError 异常

此异常专门针对该 assert 语句,不适用于其他上下文。

这种异常一般适用于调试环境,

放在单元测试里面更加合适。

# 不建议在代码中使用 assert 语句引发异常
assert condition, "条件不满足"

5. 尽快引发异常

尽早地检查类似参数类型、值大小这种临界值错误,

可以避免让后续的代码处理很多冗余的条件,

代码也更加清晰。

def calculate_square_root(number):
    if number 

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论