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
しかし、私はこのボイラープレートなしでそれをしたい.