Show More
@@ -792,16 +792,22 b' class VerboseTB(TBTools):' | |||
|
792 | 792 | varargs, varkw, |
|
793 | 793 | locals,formatvalue=var_repr)) |
|
794 | 794 | except KeyError: |
|
795 | # Very odd crash from inspect.formatargvalues(). The | |
|
796 | # scenario under which it appeared was a call to | |
|
797 | # view(array,scale) in NumTut.view.view(), where scale had | |
|
798 | # been defined as a scalar (it should be a tuple). Somehow | |
|
799 | # inspect messes up resolving the argument list of view() | |
|
800 | # and barfs out. At some point I should dig into this one | |
|
801 | # and file a bug report about it. | |
|
802 | inspect_error() | |
|
803 | traceback.print_exc(file=self.ostream) | |
|
804 | info("\nIPython's exception reporting continues...\n") | |
|
795 | # This happens in situations like errors inside generator | |
|
796 | # expressions, where local variables are listed in the | |
|
797 | # line, but can't be extracted from the frame. I'm not | |
|
798 | # 100% sure this isn't actually a bug in inspect itself, | |
|
799 | # but since there's no info for us to compute with, the | |
|
800 | # best we can do is report the failure and move on. Here | |
|
801 | # we must *not* call any traceback construction again, | |
|
802 | # because that would mess up use of %debug later on. So we | |
|
803 | # simply report the failure and move on. The only | |
|
804 | # limitation will be that this frame won't have locals | |
|
805 | # listed in the call signature. Quite subtle problem... | |
|
806 | # I can't think of a good way to validate this in a unit | |
|
807 | # test, but running a script consisting of: | |
|
808 | # dict( (k,v.strip()) for (k,v) in range(10) ) | |
|
809 | # will illustrate the error, if this exception catch is | |
|
810 | # disabled. | |
|
805 | 811 | call = tpl_call_fail % func |
|
806 | 812 | |
|
807 | 813 | # Initialize a list of names on the current line, which the |
General Comments 0
You need to be logged in to leave comments.
Login now