Astarte device API for C++ 0.8.1
Astarte device SDK for C++
Loading...
Searching...
No Matches
errors.hpp File Reference

Error types and handling for the Astarte device library. More...

#include <expected>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <variant>
#include "astarte_device_sdk/formatter.hpp"
#include "astarte_device_sdk/mqtt/errors.hpp"

Go to the source code of this file.

Classes

class  astarte::device::ErrorBase
 Base error class representing any possible error from the Astarte device library. More...
 
class  astarte::device::DataSerializationError
 Specific error for when a serialization operation failed. More...
 
class  astarte::device::InternalError
 Specific error for when an operation failed due to an internal error. More...
 
class  astarte::device::FileOpenError
 Specific error for when a file cannot be opened. More...
 
class  astarte::device::InvalidInputError
 Specific error for when an operation failed due to incompatible user input. More...
 
class  astarte::device::OperationRefusedError
 An operation which is not permitted according to the current device status was attempted. More...
 
class  astarte::device::GrpcLibError
 Error reported by the gRPC transport library. More...
 
class  astarte::device::MsgHubError
 Error reported by the Astarte message hub library. More...
 
class  astarte::device::InterfaceValidationError
 Error during the Interface validation process. More...
 
class  astarte::device::InvalidInterfaceVersionError
 Error indicating that the minor or major version of an interface is incorrect. More...
 
class  astarte::device::InvalidInterfaceTypeError
 Error indicating that the provided interface type is incorrect. More...
 
class  astarte::device::InvalidInterfaceOwnershipeError
 Error indicating that the provided interface ownership is incorrect. More...
 
class  astarte::device::InvalidInterfaceAggregationError
 Error indicating that the provided interface aggregation is incorrect. More...
 
class  astarte::device::InvalidAstarteTypeError
 Error indicating that the provided Astarte type is incorrect. More...
 
class  astarte::device::InvalidReliabilityError
 Error indicating that the provided Astarte reliability is incorrect. More...
 
class  astarte::device::InvalidRetentionError
 Error indicating that the provided Astarte retention is incorrect. More...
 
class  astarte::device::InvalidDatabaseRetentionPolicyError
 Error indicating that the provided Astarte database retention policy is incorrect. More...
 
struct  astarte_fmt::formatter< astarte::device::Error >
 Formatter specialization for astarte::device::Error. More...
 
struct  astarte_fmt::formatter< astarte::device::ErrorBase >
 Formatter specialization for astarte::device::ErrorBase. More...
 

Namespaces

namespace  astarte
 Global namespace for all Astarte related functionality.
 
namespace  astarte::device
 Umbrella namespace for the Astarte device library.
 
namespace  astarte::device::mqtt
 Namespace for Astarte device functionality using the MQTT transport protocol.
 

Typedefs

using astarte::device::Error
 Variant type representing any error from the Astarte device library.
 

Detailed Description

Error types and handling for the Astarte device library.

This file defines the comprehensive error hierarchy used across the SDK, utilizing a variant-based approach for type-safe error propagation and nesting without relying on C++ exceptions.