Supponiamo che sto correndo un certo codice in modo interattivo in IPython e produce un'eccezione non rilevata, come:Come ottenere le mani sull'oggetto eccezione catturato dal gestore di eccezioni ipython predefinito?
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
Questa eccezione è ora intercettato dal gestore di eccezioni IPython predefinita e produce un messaggio di errore. È possibile in qualche modo estrarre l'oggetto eccezione che è stato catturato da IPython?
voglio avere lo stesso effetto in:
# Typing this into IPython prompt:
try:
os.waitpid(1, os.WNOHANG)
except Exception, exc:
pass
# (now I can interact with "exc" variable)
ma voglio che senza questo try/except
boilerplate.