rclcpp  master
C++ ROS Client Library API
Classes | Functions
rclcpp::exceptions Namespace Reference

Classes

class  EventNotRegisteredError
 Thrown when an unregistered rclcpp::Event is encountered where a registered one was expected. More...
 
class  InvalidEventError
 Thrown when an invalid rclcpp::Event object or SharedPtr is encountered. More...
 
class  InvalidNamespaceError
 Thrown when a node namespace is invalid. More...
 
class  InvalidNodeError
 Thrown when a method is trying to use a node, but it is invalid. More...
 
class  InvalidNodeNameError
 Thrown when a node name is invalid. More...
 
class  InvalidParametersException
 Thrown if passed parameters are inconsistent or invalid. More...
 
class  InvalidParameterValueException
 Thrown if passed parameter value is invalid. More...
 
class  InvalidServiceNameError
 Thrown when a service name is invalid. More...
 
class  InvalidTopicNameError
 Thrown when a topic name is invalid. More...
 
class  NameValidationError
 Thrown when a any kind of name (node, namespace, topic, etc.) is invalid. More...
 
class  ParameterAlreadyDeclaredException
 Thrown if parameter is already declared. More...
 
class  ParameterImmutableException
 Thrown if parameter is immutable and therefore cannot be undeclared. More...
 
class  ParameterNotDeclaredException
 Thrown if parameter is not declared, e.g. either set or get was called without first declaring. More...
 
class  RCLBadAlloc
 Created when the ret is RCL_RET_BAD_ALLOC. More...
 
class  RCLError
 Created when the return code does not match one of the other specialized exceptions. More...
 
class  RCLErrorBase
 
class  RCLInvalidArgument
 Created when the ret is RCL_RET_INVALID_ARGUMENT. More...
 

Functions

void throw_from_rcl_error (rcl_ret_t ret, const std::string &prefix="", const rcl_error_state_t *error_state=nullptr, void(*reset_error)()=rcl_reset_error)
 Throw a C++ std::exception which was created based on an rcl error. More...
 

Function Documentation

◆ throw_from_rcl_error()

void rclcpp::exceptions::throw_from_rcl_error ( rcl_ret_t  ret,
const std::string prefix = "",
const rcl_error_state_t error_state = nullptr,
void(*)()  reset_error = rcl_reset_error 
)

Throw a C++ std::exception which was created based on an rcl error.

Passing nullptr for reset_error is safe and will avoid calling any function to reset the error.

Parameters
retthe return code for the current error state
prefixstring to prefix to the error if applicable (not all errors have custom messages)
error_stateerror state to create exception from, if nullptr rcl_get_error_state is used
reset_errorfunction to be called before throwing which whill clear the error state
Exceptions
std::invalid_argumentif ret is RCL_RET_OK
std::runtime_errorif the rcl_get_error_state returns 0
RCLErrorBasesome child class exception based on ret