假设我正在IPython中交互式地运行一些代码,并且产生了未捕获的异常,例如:
In [2]: os.waitpid(1, os.WNOHANG)
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-2-bacc7636b058> in <module>()
----> 1 os.waitpid(1, os.WNOHANG)
OSError: [Errno 10] No child processes
现在默认的IPython异常处理程序截取了此异常并生成了一个错误消息。有没有办法以某种方式提取被IPython捕获的异常对象呢?
我想要与以下代码产生相同的效果:
# Typing this into IPython prompt:
try:
os.waitpid(1, os.WNOHANG)
except Exception, exc:
pass
# (now I can interact with "exc" variable)
但是我希望它没有这个try/except
样板代码。