The current scram exception classes
are string-ly context & error carriers,
which are noexcept-incorrect, localization unfriendly, and inflexible.
For example, dealing with libxml2 errors in this manner is a nightmare.
Boost exception library provides a solid framework
to properly design exception classes.
No error message construction at throw site
Provide more context data
Build the context data incrementally
Generic
Error message construction only at report site (front-ends)
Coherent and consistent design
The new design should help with proper libxml2 error extraction (#218)
and translation & localization of error messages (#216).
The current scram exception classes are string-ly context & error carriers, which are noexcept-incorrect, localization unfriendly, and inflexible. For example, dealing with libxml2 errors in this manner is a nightmare.
Boost exception library provides a solid framework to properly design exception classes.
The new design should help with proper libxml2 error extraction (#218) and translation & localization of error messages (#216).