Robot Raconteur Core C++ Library
Loading...
Searching...
No Matches
RobotRaconteur::RobotRaconteurException Class Reference

Base class for Robot Raconteur exceptions. More...

#include <Error.h>

Inheritance diagram for RobotRaconteur::RobotRaconteurException:
RobotRaconteur::AbortOperationException RobotRaconteur::AuthenticationException RobotRaconteur::BufferLimitViolationException RobotRaconteur::ConnectionException RobotRaconteur::DataSerializationException RobotRaconteur::DataTypeException RobotRaconteur::DataTypeMismatchException RobotRaconteur::EndpointCommunicationFatalException RobotRaconteur::IOException RobotRaconteur::InternalErrorException RobotRaconteur::InvalidArgumentException RobotRaconteur::InvalidConfigurationException RobotRaconteur::InvalidEndpointException RobotRaconteur::InvalidOperationException RobotRaconteur::InvalidStateException RobotRaconteur::KeyNotFoundException RobotRaconteur::MemberBusyException RobotRaconteur::MemberFormatMismatchException RobotRaconteur::MemberNotFoundException RobotRaconteur::MessageElementNotFoundException RobotRaconteur::MessageEntryNotFoundException RobotRaconteur::NodeNotFoundException RobotRaconteur::NotImplementedException RobotRaconteur::NullValueException RobotRaconteur::ObjectLockedException RobotRaconteur::ObjectNotFoundException RobotRaconteur::OperationAbortedException RobotRaconteur::OperationCancelledException RobotRaconteur::OperationFailedException RobotRaconteur::OperationTimeoutException RobotRaconteur::OutOfRangeException RobotRaconteur::OutOfSystemResourceException RobotRaconteur::PermissionDeniedException RobotRaconteur::ProtocolException RobotRaconteur::ReadOnlyMemberException RobotRaconteur::RequestTimeoutException RobotRaconteur::ResourceNotFoundException RobotRaconteur::RobotRaconteurRemoteException RobotRaconteur::ServiceDefinitionException RobotRaconteur::ServiceException RobotRaconteur::ServiceNotFoundException RobotRaconteur::StopIterationException RobotRaconteur::SystemResourceException RobotRaconteur::SystemResourcePermissionDeniedException RobotRaconteur::UnknownException RobotRaconteur::ValueNotSetException RobotRaconteur::WriteOnlyMemberException

Public Member Functions

 RobotRaconteurException ()
 Construct an empty RobtoRaconteurException().
 RobotRaconteurException (MessageErrorType ErrorCode, const std::string &error, const std::string &message, const std::string &sub_name, const boost::intrusive_ptr< RRValue > &param)
 Construct a RobotRaconteurException.
 RobotRaconteurException (const std::string &message, std::exception &innerexception)
 Construct a RobotRaconteurException based on an existing exception.
virtual std::string ToString ()
 Returns a string representing the exception.

Public Attributes

MessageErrorType ErrorCode
 Predefined error code.
std::string Error
 Name of the error.
std::string Message
 Message to pass to the user.
std::string ErrorSubName
 An optional sub_name to further categorize the exception.
boost::intrusive_ptr< RRValueErrorParam
 An optional parameter.

Detailed Description

Base class for Robot Raconteur exceptions.

RobotRaconteurException represents an exception that can be serialized and passed to a remote node. The MessageErrorType contains an enum of predefined error codes that represent different potential errors. Each error code has a corresponding C++ exception that extends RobotRaconteurException.

User defined exception types can be declared in Service Definition files. The C++ exception is generated with the thunk source. These user defined exceptions extend RobotRaconteurRemoteException.

Constructor & Destructor Documentation

◆ RobotRaconteurException() [1/2]

RobotRaconteur::RobotRaconteurException::RobotRaconteurException ( MessageErrorType ErrorCode,
const std::string & error,
const std::string & message,
const std::string & sub_name,
const boost::intrusive_ptr< RRValue > & param )

Construct a RobotRaconteurException.

Parameters
ErrorCodeThe predefined error code for the exception
errorThe error type name corresponding to the ErrorCode, or a user defined error type
messageA message to pass to the user
sub_nameAn optional sub_name to further categorize the exception
paramAn optional exception parameter

◆ RobotRaconteurException() [2/2]

RobotRaconteur::RobotRaconteurException::RobotRaconteurException ( const std::string & message,
std::exception & innerexception )

Construct a RobotRaconteurException based on an existing exception.

This will result in an exception with error code MessageErrorType_UnknownException

Parameters
messageA message to pass to the user
innerexceptionThe existing exception

Member Function Documentation

◆ ToString()

virtual std::string RobotRaconteur::RobotRaconteurException::ToString ( )
virtual

Returns a string representing the exception.

Returns
std::string

Member Data Documentation

◆ Error

std::string RobotRaconteur::RobotRaconteurException::Error

Name of the error.

Name corresponding to predefined error code, or a user defined error type

◆ ErrorCode

MessageErrorType RobotRaconteur::RobotRaconteurException::ErrorCode

Predefined error code.

Error code that specifies the type of error

◆ ErrorParam

boost::intrusive_ptr<RRValue> RobotRaconteur::RobotRaconteurException::ErrorParam

An optional parameter.

Use this placeholder if data needs to be passed with the exception

◆ ErrorSubName

std::string RobotRaconteur::RobotRaconteurException::ErrorSubName

An optional sub_name to further categorize the exception.

The sub_name should follow the Robot Raconteur naming rules. It should either be a single name or a fully qualified name using service definition naming rules

◆ Message

std::string RobotRaconteur::RobotRaconteurException::Message

Message to pass to the user.

Human readable message to pass to the user


The documentation for this class was generated from the following file: