raise_exception
It
message
is the empty C string,
the return value is the string corresponding to the previous
call to raise_exception when
message
was non-empty.
If
message
is non-empty,
the message is store, so it can be retrieved later,
and the following exception is thrown:
std::runtime_error( std::string( message ) );
The message storage is done using a static variable and hence is
not thread safe.