为什么格式编号失败?

时间:2016-04-05 08:48:11

标签: python exception-handling tuples

我有一个IndexError如下:

print ("Page {1} not found, {2}: {3}".format(page, sys.exc_info()[0], err))

IndexError: tuple index out of range

我的代码是:

wait = WebDriverWait(browser, 10)
        try:       
            wait.until(EC.visibility_of_element_located((By.ID, "summaries")))
        except (TimeoutException, ConnectionRefusedError) as err:#not a TimeoutError, not the basic set of exceptions

            print ("Page {1} not found, {2}: {3}".format(page, sys.exc_info()[0], err))
            file.write("Page {} not found, {}: {}".format(page, sys.exc_info()[0], err))
            #file.write(str(summary))
            continue#next

我解决了它:

print ("Page {} not found, {}: {}".format(page, sys.exc_info()[0], err))

但我不明白为什么我首先得到IndexError,因为{3}存在?

这是否意味着sys.exc_info()[0]是一个元组? 为什么当我打印(type(sys.exc_info()[0])时,返回的值是<class 'type'>?因为exc_info[0]会返回错误类型吗?

1 个答案:

答案 0 :(得分:1)

就像评论中提到的那样,当您使用列表编制索引时,索引总是从0开始:

print ("Page {0} not found, {1}: {2}".format(page, sys.exc_info()[0], err))
相关问题