Redesign Exception classes w/ boost::exception
rakhimov opened this issue · comments
Olzhas Rakhimov commented
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).