在 Python 中处理 queue.Empty 异常
Python 中使用 try/except
语句来处理队列的空异常。 我们可以在 try 块中使用 get()
方法并在 except 块中捕获 queue.Empty
异常。
import queue
q = queue.Queue()
q.get(False)
try:
item = q.get(False)
# 👉️ 在这里处理业务
# 👇️ 任务完成
q.task_done()
except queue.Empty:
print('queue.Empty exception')
# 👉️ 处理空队列异常
pass
Queue.get
方法从队列中移除并返回一个项目。
我们将 False 传递给该方法以使其非阻塞。
如果队列中的项目不能立即可用,则该方法会引发
queue.Empty
异常。
我们可以在 try 块中完成所有必要的工作,并在最后调用 Queue.task_done
方法以指示任务已完成。
我们可以使用 task_done()
方法告诉队列在每次调用 get()
方法获取任务后任务已完成。
我们还可以通过使用 else 块来简化这一点。
import queue
q = queue.Queue()
try:
item = q.get(False)
# 👉️ 在这里处理业务
except queue.Empty:
print('queue.Empty exception')
# 处理空队列异常
pass
else:
# 👇️ 处理空队列异常
q.task_done()
如果我们不使用异常处理的话,队列空异常的报错如下所示。
try/except
语句有一个可选的 else 子句。
只有在 try 块没有引发异常时才运行 else 块。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。