2

是否有一个集合在超过其最大大小属性时引发异常?

我知道它发生在 Queue.Queue 对象中,但是当我使用 collections.deque 时它没有引发异常,而是最后一个元素被覆盖了。

提前致谢!

4

1 回答 1

1

您可以使用 a Queuewhich raises queue.Fullif full:

>>> import queue
>>> q = queue.Queue(3)
>>> q.put_nowait(1)
>>> q.put_nowait(2)
>>> q.put_nowait(3)
>>> q.put_nowait(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ruediger/data/p3/Python-3.4.2/Lib/queue.py", line 187, in put_nowait
    return self.put(item, block=False)
  File "/Users/ruediger/data/p3/Python-3.4.2/Lib/queue.py", line 133, in put
    raise Full
queue.Full
于 2016-03-23T20:39:01.483 回答