RTI Connext Modern C++ API Version 7.3.0

How DDS return codes map to C++ exceptions.

How DDS return codes map to C++ exceptions.

Exceptions

The following is a list of the exceptions that may be thrown by RTI Connext. They are a part of the dds::core namespace and can also be found in hpp/dds/core/Exception.hpp. The *Error classes can be caught simply by catching an std::exception.

modern C++ API Exception Class DDS PIM Return Code Std C++ Parent Exception
Normal return; no exception RETCODE_OK N/A
An informational state attached to a normal return; no exception RETCODE_NO_DATA N/A
Error RETCODE_ERROR std::logic_error
InvalidArgumentError RETCODE_BAD_PARAMETER std::invalid_argument
TimeoutError RETCODE_TIMEOUT std::runtime_error
UnsupportedError RETCODE_UNSUPPORTED std::logic_error
AlreadyClosedError RETCODE_ALREADY_DELETED std::logic_error
IllegalOperationError RETCODE_ILLEGAL_OPERATION std::logic_error
NotEnabledError RETCODE_NOT_ENABLED std::logic_error
PreconditionNotMetError RETCODE_PRECONDITION_NOT_MET std::logic_error
ImmutablePolicyError RETCODE_IMMUTABLE_POLICY std::logic_error
InconsistentPolicyError RETCODE_INCONSISTENT_POLICY std::logic_error
OutOfResourcesError RETCODE_OUT_OF_RESOURCES std::runtime_error
InvalidDowncastError N/A std::runtime_error
NullReferenceError N/A std::runtime_error
InvalidDataError N/A std::logic_error