首页 > 解决方案 > 当测试没有在 Python 中引发错误时,执行代码的最佳方法是什么?

问题描述

背景故事:我正在处理一些用 Excel 制作的凌乱数据表。使用 pandas (首选)阅读此内容有时会保存单元格的 Excel 数据类型。由于我想处理的所有条目在某个列中都有一个可以转换为整数的值,所以我想在该列可以转换时执行一个代码块(即不抛出错误)。我知道有一些方法可以解决这个问题,但我想知道如果你想在没有 try/except 语句的语句返回错误时执行代码,你会怎么做。

到目前为止,我想出了 try/except 块:

try:
    int(x)

    # Big code chunk goes here
    ....

    # Exception can be found much further down in the code
except ValueError:
    pass

这让我觉得有点奇怪。为了使其更具可读性,可以将代码块放在一个函数中,但我真正想要的是这样的:

if int(x) == NoError:
    # Lets go ahead with the code chunk
    ....

对于一般用例,有没有很好的方法来实现这样的东西?

标签: pythonexceptiontry-except

解决方案


您可能正在寻找的是一个try-except-else

try:
    int(x)
except ValueError:
    ...
else:
    # No error

推荐阅读