ImFusion C++ SDK 4.4.0
ErrorException Class Reference

#include <RoboticsPlugin/Include/ImFusion/Robotics/Error.h>

Error that wraps any C++ exception. More...

Inheritance diagram for ErrorException:

Detailed Description

Error that wraps any C++ exception.

This class can be used to catch any C++ exception (not just types inheriting from std::exception but also primitive types) and convert them to a Utils::Error, so that they compose nicely.

Usage example:

Robotics::Expected<int> myFunction() {
try
{
int res = compute();
switch (res)
{
case -1:
throw 5;
case -2:
throw std::runtime_error("error computing my function");
default:
return res;
}
}
catch (...)
{
return Robotics::ErrorException(std::current_exception());
}
};
T current_exception(T... args)

Public Member Functions

 ErrorException (std::exception_ptr ex)
std::string domain () const override
int id () const override
 Retrieves the unique identifier for the error.
std::string message () const override
Public Member Functions inherited from ErrorInheritanceHelper< ErrorException >
 ~ErrorInheritanceHelper () override=default
 Override destructor.
 ErrorInheritanceHelper (const ErrorInterface &ei)
std::unique_ptr< ErrorExceptionclone () const &
 Creates a copy of the current instance.

Member Function Documentation

◆ domain()

std::string ErrorException::domain ( ) const
nodiscardoverride
Returns
String representing the category

◆ id()

int ErrorException::id ( ) const
nodiscardoverride

Retrieves the unique identifier for the error.

Returns
The error ID.

◆ message()

std::string ErrorException::message ( ) const
nodiscardoverride
Returns
Human-readable description of the error.

The documentation for this class was generated from the following file:
  • RoboticsPlugin/Include/ImFusion/Robotics/Error.h
Search Tab / S to search, Esc to close