ENH: additional method for switching error throwing on/off (issue #552)

- error::throwExceptions(bool) returning the previous state makes it
  easier to set and restore states.

- throwing() method to query the current handling (if required).

- the normal error::throwExceptions() and error::dontThrowExceptions()
  also return the previous state, to make it easier to restore later.
This commit is contained in:
Mark Olesen
2017-07-29 12:25:30 +02:00
parent 41eafeb020
commit 797155f862
8 changed files with 105 additions and 62 deletions

View File

@ -52,7 +52,7 @@ int main(int argc, char *argv[])
Info<< "face:" << f1 << nl;
// expect these to fail
FatalError.throwExceptions();
const bool throwingError = FatalError.throwExceptions();
try
{
labelledTri l1{ 1, 2, 3, 10, 24 };
@ -63,7 +63,7 @@ int main(int argc, char *argv[])
WarningInFunction
<< "Caught FatalError " << err << nl << endl;
}
FatalError.dontThrowExceptions();
FatalError.throwExceptions(throwingError);
labelledTri l2{ 1, 2, 3 };
Info<< "labelled:" << l2 << nl;