我有一个名为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块成功,我需要激活else语句。目前,嵌套的try块似乎没有做任何事情。
答案 0 :(得分:1)
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)