抱歉,如果这是一个新手问题,但我无法在 Win7 上运行的 Python 3.3 中捕获超时异常,例如
import subprocess
try:
subprocess.call("ping -t localhost", timeout=3)
except TimeoutExpired:
print("Timeout happened.\n")
超时工作正常,根据我的 pdb 回溯,它说:
"raise TimeoutExpired(self.args, timeout)"
然而“除了 TimeoutExpired:”没有抓住它。此外,TimeoutExpired 未列为标准异常,而是作为 nameError 出现。
如果我尝试"except TimeoutError:"
代替"except TimeoutExpired:"
,我不会收到错误消息,但在 pdb 中,我会收到:
"Uncaught exception"
并且在任何情况下都不会执行打印命令。
这是一个错误,还是我做错了什么?