Skip to content

Document getting source_locations  #1065

@computerquip-work

Description

@computerquip-work

I was struggling a bit getting reasonable error codes. I use the exception-based API for readability purposes. Most of these functions take a source_location parameter but it turns out that the location information is lost when the exception is thrown. For example a call to at() on a json::object will drop the information and instead have the call site of the internal function:

value const&
object::
at(string_view key, source_location const& loc) const&
{
    return try_at(key).value(loc);
}

try_at gets called and throws so loc being set in the result type doesn't matter.
Is there a decent way to avoid this short of wrapping everything?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions