Message202579
| Author |
ncoghlan |
| Recipients |
alonho, benjamin.peterson, hniksic, ncoghlan, nikratio |
| Date |
2013年11月10日.22:16:33 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<CADiSq7eebAf-9FfzYiT_L_bEuczwNyLm1HeYP6XEby2tWC-Kcg@mail.gmail.com> |
| In-reply-to |
<CAPZV6o9XmZbhfZFFq+jJadSic-gU259PFeA2-sG6sVCJTRZwPQ@mail.gmail.com> |
| Content |
Yes, I suggest using ExitStack to figure out the behaviour we *want* first,
before diving into the messy practical details of how to make that a
reality in CPython. We somehow have to get the state of the exception
object and its traceback to represent an appropriate stack *tree*, rather
than the traditionally assumed linear stack.
It also occurred to me there's another potentially related issue: frame
hiding, where we want to avoid showing infrastructure code in end user
tracebacks. importlib currently has a very hacky version of that. The
Jinja2 template library uses a different approach.
The reason I bring these other problems up is because I think they
illustrate a theme around altering how a traceback is displayed that may be
amenable to a common solution (preferably one that is contextlib and
asyncio friendly). |
|