You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当输入文件大小不符合预期时,应抛出哪种Python异常?

选择合适的Python异常类型
  • 不要用AssertionError:断言错误仅用于调试阶段的内部逻辑校验,生产环境中如果用-O选项运行Python,断言会被完全跳过,无法保证必要的检查,因此不适合用于必须强制执行的文件大小验证。
  • 不要直接抛Exception:这是所有异常的基类,过于宽泛,会让调用者难以精准捕获特定错误,不符合Python异常处理的最佳实践。
  • 优先选择ValueError:文件大小不符合预期属于输入数据(文件属性)不符合业务要求的情况,ValueError的语义就是“参数值合法但不符合预期”,完全匹配这个场景。
  • 进阶方案:自定义异常:如果你的脚本有多个不同类型的输入错误,也可以定义一个继承自ValueError的自定义异常,让调用者能更清晰地处理这类特定错误,示例代码:
    class InvalidFileSizeError(ValueError):
        """当文件大小不符合预期时抛出的异常"""
        pass
    
    # 使用示例
    import os
    expected_size = 1024
    actual_size = os.path.getsize(file_path)
    if actual_size != expected_size:
        raise InvalidFileSizeError(f"文件大小不符:预期{expected_size}字节,实际{actual_size}字节")
    

内容的提问来源于stack exchange,提问作者einpoklum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:02:35