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

咨询Pythonic风格的方法执行结果返回与状态校验实现方案

Pythonic风格适配示例

Python 社区遵循 EAFP(宁求宽恕,不求许可)的编码惯例,对应你的场景,直接抛出异常而非返回状态标识的实现如下:

带自定义业务异常版本(推荐)

语义更清晰,可区分转换错误和其他类型异常:

import sys
from typing import List

# 自定义转换异常,用于标识业务层面的转换失败
class ConvertError(ValueError):
    pass

def get_int_list(list_data: list) -> List[int]:
    try:
        return [int(element) for element in list_data]
    except ValueError as e:
        # 附加业务报错信息后抛出,使用from保留原始异常栈
        raise ConvertError("Failed to convert int elements list") from e

if __name__ == "__main__":
    my_list = ["1", "2", "a"]
    try:
        int_list = get_int_list(my_list)
    except ConvertError as e:
        print(e)
        sys.exit(1)
    sys.exit(0)

简化版本

如果不需要额外的业务异常标识,可直接透出内置异常:

import sys
from typing import List

def get_int_list(list_data: list) -> List[int]:
    return [int(element) for element in list_data]

if __name__ == "__main__":
    my_list = ["1", "2", "a"]
    try:
        int_list = get_int_list(my_list)
    except ValueError:
        print("Failed to convert int elements list")
        sys.exit(1)
    sys.exit(0)

核心改动优势

  • 类型标注更简洁,返回值直接为目标类型,无需额外处理空值分支
  • 避免漏判返回状态导致后续空值报错的问题,异常可根据业务需要向上透传
  • 完全符合Python社区通用编码惯例,可读性更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 21:15:00