Terry J. Reedy added the comment:

This is an enhancement request (at best), not a bug report. I would close it 
because I think it somewhat dubious, unreasonable, and not helpful.

First, I think tracebacks *should* report 'the spot of the foul' for each call 
frame. What would sometimes be helpful when multiple operations are performed 
in one line would be to also have the column number reported, along with a ^ to 
indicate the exact point of error. So I think instead misreporting the location 
of an instruction pointer could be deceptive and not helpful.

I think it unreasonable to ask the traceback reporter to guess which one line 
would be most helpful to report. The OP suggests somehow tracing back to the 
*first* line of a multiline statement. But on python-ideas, G. Rodola noted the 
following

assert \
    1 == 0, \
        "error"
Traceback (most recent call last):
  File "foo.py", line 3, in <module>
    "error"
AssertionError: error

and requested that the *second* or *middle* line should be reported. (But what 
if the asserted expression itself covered multiple lines?)

I say sometimes 'not helpful' since the traceback already says what function 
the pointer is in, if it is in one, and therefore what function what called by 
the previous frame. In the 'reproducer', 'raise Exception' is in fun1, so in 
fun2, 'par="value")' must have been preceded by 'fun1(...' on a previous line. 
So replacing 'par="value")' with 'fun1(...' would not add information.

I think debugging multiline statements will usually requires looking at the 
whole statement and a few more. To make this easy, one can use a more 
sophisticated environment than dumb consoles. For instance, if one executes a 
top-level script from an Idle edit window, one can right click on a traceback 
in the Shell window and select 'Go to file/line'. Idle will open the file, if 
necessary, and highlight the line.

----------
nosy: +terry.reedy
type: behavior -> enhancement
versions: +Python 3.4 -Python 2.7, Python 3.2, Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12458>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to