|
Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
|
Consolidated error handling for Icarus. More...
#include <cstdint>#include <optional>#include <stdexcept>#include <string>

Go to the source code of this file.
Classes | |
| struct | icarus::SimulationError |
| class | icarus::Error |
| Base class for all Icarus exceptions. More... | |
| class | icarus::SignalError |
| Signal-related errors (registration, resolution, wiring). More... | |
| class | icarus::ConfigError |
| Configuration/parsing errors with optional file context. More... | |
| class | icarus::LifecycleError |
| Lifecycle ordering/state errors. More... | |
| class | icarus::WiringError |
| Wiring and signal routing errors. More... | |
| class | icarus::IntegrationError |
| Integration/ODE solver errors with time context. More... | |
| class | icarus::StateError |
| State vector management errors. More... | |
| class | icarus::IOError |
| File and I/O operation errors. More... | |
| class | icarus::ConditionError |
| Condition parsing and evaluation errors. More... | |
| class | icarus::NotImplementedError |
| Stub for unimplemented features. More... | |
| class | icarus::ProvisionError |
| class | icarus::StageError |
| class | icarus::StepError |
| class | icarus::TypeMismatchError |
| class | icarus::DuplicateSignalError |
| class | icarus::SignalNotFoundError |
| class | icarus::UnwiredInputError |
| class | icarus::StateSizeMismatchError |
| class | icarus::StepSizeTooSmallError |
Namespaces | |
| namespace | icarus |
Macros | |
| #define | ICARUS_THROW(error) |
| Throw an error (simple version, no logging). | |
| #define | ICARUS_THROW_CTX(error, time, component) |
| Throw an error with context (for future logging integration). | |
Typedefs | |
| using | icarus::RoutingError = WiringError |
| using | icarus::ConfigurationError = ConfigError |
| using | icarus::IntegratorError = IntegrationError |
Enumerations | |
| enum class | icarus::Severity : uint8_t { icarus::INFO , icarus::WARNING , icarus::ERROR , icarus::FATAL } |
| enum class | icarus::SignalErrorKind { icarus::NotFound , icarus::Duplicate , icarus::TypeMismatch , icarus::Unwired , icarus::NullPointer } |
| Signal-related error categories. More... | |
| enum class | icarus::LifecyclePhase { icarus::Provision , icarus::Stage , icarus::Step , icarus::Reset , icarus::Other } |
| Simulation lifecycle phases. More... | |
Functions | |
| template<typename E> | |
| void | icarus::ThrowError (E &&error, double time=0.0, const std::string &component="") |
| Helper to throw an error and optionally log it. | |
Consolidated error handling for Icarus.
Provides a flattened exception hierarchy with 8 error categories. Each category has contextual information rather than many subclasses.
| #define ICARUS_THROW | ( | error | ) |
Throw an error (simple version, no logging).
| #define ICARUS_THROW_CTX | ( | error, | |
| time, | |||
| component ) |
Throw an error with context (for future logging integration).
| error | The error to throw |
| time | Simulation time |
| component | Component name for logging context |