[bugfix] Avoid using non-official implementation details of DUNE_THROW
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
.