[Patches] [ python-Patches-1654974 ] sys.excepthook shows relevant bindings.

SourceForge.net noreply at sourceforge.net
Thu Feb 8 10:46:01 CET 2007


Patches item #1654974, was opened at 2007-02-08 09:46
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1654974&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Library (Lib)
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nefarious CodeMonkey, Jr. (nejucomo)
Assigned to: Nobody/Anonymous (nobody)
Summary: sys.excepthook shows relevant bindings.

Initial Comment:
The attached module provides a suitable replacement for sys.excepthook to handle uncaught exceptions.

The output is the same, except after each source line shown, a list of relevant bindings is shown.

Here's a quick example from the tail end of a test:

  File "./test-exprann.py", line 16, in f
    assert c == 12
    # With bindings:
    # c = 42
AssertionError


The bindings shown are the intersection of the code object "co_names" and the non-keyword name tokens in the parsed source line.  The goal is to only show bindings relevant to the exception.

I hope the utility of this is self-evident to any programmer.  I tried testing it with crazy expressions containing nonfree bindings (such as lambda's and list comprehensions), so I think it behaves well in most circumstances.

The performance might be bad (it parses each line in the backtrace), but I figure it is worth it for uncaught exceptions.

Let me know if you find this tool useful.

Thanks,
Nejucomo

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1654974&group_id=5470


More information about the Patches mailing list