Предположим, я запускаю некоторый код в интерактивном режиме в 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
.