Boost logo

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