<br><br><div class="gmail_quote">On Mon, Apr 9, 2012 at 18:39, Erik Tollerud <span dir="ltr">&lt;<a href="mailto:erik.tollerud@gmail.com">erik.tollerud@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hello all,<br>
<br>
I noticed some odd (although I now realize quite sensible) behavior in<br>
IPython, and I&#39;m curious if there&#39;s a workaround.  I have an<br>
application log that I want to use to capture unhandled exceptions.<br>
When not using IPython, it&#39;s straightforward to just override<br>
sys.excepthook to first sent the exception to our logging system, and<br>
then continue the normal excepthook behavior.  However, IPython seems<br>
to always use only its own excepthook in interactive mode<br>
(TerminalInteractiveShell.excepthook, at least in the standard<br>
terminal).<br>
<br>
So my question is: Is there any way to plug anything into the IPython<br>
exception handling system, either with sys.excepthook-style syntax, or<br>
some other way?  As I said, it doesn&#39;t have to actually catch the<br>
exceptions - we just want entries placed in a log if an interactive<br>
session hits an unhandled exception, and it could then pass normally<br>
into the IPython formatting/pdb running system.<br></blockquote><div><br></div><div>You use <a href="http://ipython.org/ipython-doc/dev/api/generated/IPython.core.interactiveshell.html#IPython.core.interactiveshell.InteractiveShell.set_custom_exc">shell.set_custom_exc</a> for this:</div>

<div><br></div><div># define custom exception handler:</div><div><br></div><div><div>def custom_exc(shell, etype, evalue, tb, tb_offset=None):</div><div>    # do you own thing:</div><div>    print &#39;hi&#39;, etype</div>

<div>    # also do what IPython would have done, if you want:</div><div>    shell.showtraceback((etype, evalue, tb), tb_offset=tb_offset)</div></div><div> </div><div># Tell IPython to use it for any/all Exceptions:</div>
<div>
get_ipython().set_custom_exc((Exception,), custom_exc)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Erik Tollerud<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</font></span></blockquote></div><br>