Python 构造嵌套的 Try except 语句

标签 python nested escaping try-catch

我有一个名为companyNumbers 的整数列表。这些正在根据在线 API 进行检查,以测试它们是否有效。

某些公司号码的第一位数字不正确,因此我想检查该号码,然后如果收到 HTTP 错误(指示号码无效),请重新检查该号码减去其第一位数字。

如果再次无效,则该数字将写入错误表,否则将存储在 CorrectNumbers 中。

for companyNumber in companyNumbers:
    try:
        r = s.profile(companyNumber).json()
    except HTTPError:
        try:
            r = s.profile(companyNumber[1:]).json()
        except HTTPError:
            errorSheet.write(i, 0, companyNumber)
    else:
        correctNumbers.append(r)

我不知道如何构建我的 try/except/else 语句。如果其中一个 try block 成功,我需要 else 语句来激活。目前嵌套的 try block 似乎没有做任何事情。

最佳答案

try 在其嵌套下运行代码,直到发生错误。因此,您也应该将输出放入该层。

for companyNumber in companyNumbers:
    try:
        r = s.profile(companyNumber).json()
        correctNumbers.append(r)
    except HTTPError:
        try:
            r = s.profile(companyNumber[1:]).json()
            correctNumbers.append(r)
        except HTTPError:
            errorSheet.write(i, 0, companyNumber)

关于Python 构造嵌套的 Try except 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39237162/

相关文章:

python - 如何根据索引数组重新排列数组

python - sklearn 谱聚类结果的聚类数量比设置的要少

c - 将文件中的文本读入嵌套循环

string - 如何检查字符串是否包含括号 ")("?

python 3 : How do I get a string literal representation of a byte string?

python - 是否有使 Pytest 重新启动的命令?

python - 如何使用长名称的 pep8 正确导入

json - 主干解析 json 响应

c# - 对象中的对象为空

bash - 如何使用 echo 命令打印 #!/bin/bash