Skip to content

[bugfix] Avoid using non-official implementation details of DUNE_THROW

Carsten Gräser requested to merge bugfix/dont-use-dune-throw-internals into master

When throwing a MatrixBlockError the DUNE_THROW macro was abused to also set the data members of MatrixBlockError by referring e.g. to the local (in macro) variable name th__ex. I consider this a bug, since these are undocumented implementation details. Furthermore their use prohibits any change to DUNE_THROW e.g. to make it constexpr friendly.

This patch fixes this by simply not using DUNE_THROW but constructing the message manually using a std::ostringstream.

Merge request reports

Loading