rakhimov / scram

Probabilistic Risk Analysis Tool (fault tree analysis, event tree analysis, etc.)

Home Page:https://scram-pra.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Redesign Exception classes w/ boost::exception

rakhimov opened this issue · comments

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).