我有一个称为companyNumbers的整数列表。正在根据在线API检查这些文件以测试它们是否有效。
某些公司编号的第一位数字不正确,因此我想检查该数字,然后如果收到HTTP错误(指示无效的数字),请重新检查该数字减去第一位数字。
如果这再次无效,则将该数字写入错误表,否则将其存储在正确的数字中。
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块似乎没有任何作用。
最佳答案
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)