New submission from Stefan Seefeld:
The following code is supposed to catch and report errors encountered during
the execution of a (python) script:
```
import traceback
import sys
try:
env = {}
with open('script') as f:
exec(f.read(), env)
except:
type_, value_, tb = sys.exc_info()
print (traceback.print_tb(tb))
```
However, depending on the nature of the error, the traceback may contain the
location of the error *within* the executed `script` file, or it may only
report the above `exec(f.read(), env)` line.
The attached tarball contains both the above as well as a 'script' that exhibit
the problem.
Is this a bug or am I missing something ? Are there ways to work around this,
i.e. determine the correct (inner) location of the error ?
(I'm observing this with both Python 2.7 and Python 3.5)
----------
files: pyerror.tgz
messages: 294645
nosy: stefan
priority: normal
severity: normal
status: open
title: Incomplete traceback with `exec`
type: behavior
Added file: http://bugs.python.org/file46908/pyerror.tgz
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue30496>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com