|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2007-10-28 10:05:16
On Friday 19 October 2007 13:19:27 Vladimir Prus wrote:
>
> One of the things that Python port cannot directly
> grab from Jam codebase is error reporting. Among other
> things, because Jam does not have exceptions, and also
> because Jam does not have Python stack frames.
>
> I've come to the following list of rules for error handling
> in Python code, and would appreciate comments, both from
> user perspective and from developer perspective.
...
I've implemented this, and the most accurate docs are at:
https://zigzag.cs.msu.su:7813/boost.build/wiki/PythonPort/Design/ErrorReporting
The example error message I get is:
error: Invalid property '<foo>bar': Unknown feature 'foo'
error context (most recent first):
- Jamroot:10
- Jamroot:12
error: unexpected exception
explicitly-specified values of non-free feature '<variant>' conflict
existing values: '['debug', 'release']'
value from expanding '<variant>release': 'release'
error context (most recent first):
- Generating target ./a
declared at:
- Jamroot:20
I haven't yet implemented printing raw python stacktraces -- this is
for later.
- Volodya
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk