ske*_*rit 2 python queue exception
我在全局globqueue数组中存储了一堆队列。我现在想遍历所有这些队列并获取其中的所有项目。
不过,我在从队列中获取项目时遇到了一些问题。我正在使用 .get_nowait(),如果队列中没有任何内容,它将抛出“空”异常。我以为我可以像这样抓住它:
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
Run Code Online (Sandbox Code Playgroud)
但是我仍然收到这个错误,其余的代码不会继续:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "server.py", line 213, in run
getiterme = item.get_nowait()
File "/usr/lib/python2.6/Queue.py", line 190, in get_nowait
return self.get(False)
File "/usr/lib/python2.6/Queue.py", line 165, in get
raise Empty
Empty
Run Code Online (Sandbox Code Playgroud)
我知道我可以先用 来检查队列的大小.qsize(),但我也读到这并不总是那么准确,所以......请求宽恕比许可更好,对吧?
您正在接球,ValueError但跟注加注了Empty。尝试更改您的 except 处理程序以捕获Empty异常。
from _queue import Empty
if __name__ == '__main__':
try:
item = item.get_nowait()
# do some work
except Empty:
pass # handle error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4049 次 |
| 最近记录: |