Robot Raconteur Core C++ Library
ErrorUtil.h
Go to the documentation of this file.
1 
24 #pragma once
25 
27 
28 #include "RobotRaconteur/Message.h"
29 
30 namespace RobotRaconteur
31 {
32 class ROBOTRACONTEUR_CORE_API RobotRaconteurExceptionUtil
33 {
34  public:
35  static void ExceptionToMessageEntry(std::exception& exception, const RR_INTRUSIVE_PTR<MessageEntry>& entry);
36 
37  static RR_SHARED_PTR<RobotRaconteurException> MessageEntryToException(const RR_INTRUSIVE_PTR<MessageEntry>& entry);
38 
39  static void ThrowMessageEntryException(const RR_INTRUSIVE_PTR<MessageEntry>& entry);
40 
41  static RR_SHARED_PTR<RobotRaconteurException> DownCastException(RobotRaconteurException& err);
42 
43  static RR_SHARED_PTR<RobotRaconteurException> DownCastException(const RR_SHARED_PTR<RobotRaconteurException>& err);
44 
45  static RR_SHARED_PTR<RobotRaconteurException> ExceptionToSharedPtr(
46  std::exception& err, MessageErrorType default_type = MessageErrorType_UnknownError);
47 
48  static void DownCastAndThrowException(RobotRaconteurException& err);
49 
50  static void DownCastAndThrowException(const RR_SHARED_PTR<RobotRaconteurException>& err);
51 };
52 
53 } // namespace RobotRaconteur