#[non_exhaustive]pub enum Error {
Storage(StorageError),
Blob(BlobError),
Config(ConfigError),
Bundle(BundleError),
}Expand description
Top-level hh-core error.
#[non_exhaustive]: this and the other error enums below are expected to
gain variants over time (this PR added StorageError::StillRecording);
non-exhaustive keeps that additive under cargo-semver-checks --release-type minor instead of registering as a break — a downstream
match must already carry a wildcard arm, matching CLAUDE.md’s v1.0.0
addendum (“additive changes … not breaking”).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Storage(StorageError)
SQLite storage failure (IO, constraint, or migration).
Blob(BlobError)
Blob store failure (IO, compression, or hash mismatch).
Config(ConfigError)
Configuration parsing failure. Per SRS §4.2 config never fails to start the program on unknown keys (those warn); this is only raised for a malformed TOML file or a value that cannot be interpreted.
Bundle(BundleError)
Portable session bundle (hh export --bundle / hh import) build or
parse failure.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()