处理Python队列迭代时的异常情况

2024-10-01 11:24:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在全局globqueue数组中存储了一堆队列。现在我想遍历所有这些队列并获取其中的所有项。在

不过,我在从队列中获取项目时遇到了一些问题。 我使用的是.get unowait(),如果队列中没有任何内容,它将抛出一个“空”异常。我想我可以像这样抓住它:

                    for index, item in enumerate(globqueue):
                        print index, item

                        iterme = 1

                        while iterme:
                            try:
                                getiterme = item.get_nowait()
                                print getiterme
                            except ValueError:
                                iterme = 0
                                continue

但我仍然收到这个错误,其余代码将无法继续:

^{pr2}$

我知道我可以先用.qsize()来检查队列的大小,但我也读到这并不总是那么准确。。请求宽恕比请求允许更好?在


Tags: 项目in内容forgetindex队列数组
1条回答
网友
1楼 · 发布于 2024-10-01 11:24:01

您正在捕获ValueError,但调用引发了^{}。尝试更改except处理程序以捕获Empty异常。在

try:
    getiterme = item.get_nowait()
    # etc...
except Queue.Empty:
    # etc...

相关问题 更多 >