Any void operation that documents that it may throw an exception of type DDS.ReturnCode_t may throw exactly DDS.RETCODE_ERROR or DDS.RETCODE_ILLEGAL_OPERATION. Any such operation that takes one or more input parameters may additionally throw the subclass DDS.RETCODE_BAD_PARAMETER. Any operation on an object created from any of the factories may additionally throw the subclass DDS.RETCODE_ALREADY_DELETED. Any operation that is stated as optional may additionally throw the subclass DDS.RETCODE_UNSUPPORTED. DDS.RETCODE_ERROR or DDS.RETCODE_ILLEGAL_OPERATION. Any operation that takes one or more input parameters may additionally return DDS.RETCODE_BAD_PARAMETER. Any operation on an object created from any of the factories may additionally return DDS.RETCODE_ALREADY_DELETED. Any operation that is stated as optional may additionally return DDS.RETCODE_UNSUPPORTED. \endif
Thus, the standard return codes are:
Operations that may throw any other exception type will state so explicitly.