pub struct AppError {
pub code: &'static str,
pub message: String,
pub details: Value,
pub retryable: bool,
pub suggested_fix: String,
pub exit_code: i32,
}Fields§
§code: &'static str§message: String§details: Value§retryable: bool§suggested_fix: String§exit_code: i32Implementations§
Source§impl AppError
impl AppError
pub fn invalid_argument( message: impl Into<String>, fix: impl Into<String>, ) -> Self
pub fn invalid_input(message: impl Into<String>, fix: impl Into<String>) -> Self
pub fn not_found(message: impl Into<String>, fix: impl Into<String>) -> Self
pub fn ambiguous_id(prefix: &str, candidates: Vec<String>) -> Self
Sourcepub fn unsupported_log_version(
path: &Path,
line: usize,
found_version: Option<&Value>,
) -> Self
pub fn unsupported_log_version( path: &Path, line: usize, found_version: Option<&Value>, ) -> Self
The 0.15 → 1.0.0 upgrade refusal (r48, r49, r50). The message names the
offending line and what was found there and never the path: sweep
prefixes its warning with the path, and the resolved path is carried in
details.file and in suggested_fix. found_version is present
verbatim for any v other than the integer 2 — null included — and
omitted only when the key was absent, so absent and wrong are told apart
by key presence.
pub fn config(message: impl Into<String>, fix: impl Into<String>) -> Self
pub fn lock_timeout(path: &Path) -> Self
pub fn internal(message: impl Into<String>) -> Self
pub fn from_io(error: Error, path: &Path) -> Self
Sourcepub fn from_log_open(error: Error, path: &Path) -> Self
pub fn from_log_open(error: Error, path: &Path) -> Self
Error mapping for opening an existing blotter log file. This is where
NotFound becomes not_found / 66, and where a directory rejected by
an append-mode open is normalized to the same invalid_input / 65 that
the opened-handle regular-file check returns for other object types.
Sourcepub fn from_registry_file(error: Error, path: &Path) -> Self
pub fn from_registry_file(error: Error, path: &Path) -> Self
Error mapping for reading an explicit sweep --registry file. The flag
names a file as explicitly as --file does, so a missing path is
not_found / 66 rather than the io_error / 74 from_io gives. A path
that exists but can never be read as a registry — a directory, or bytes
that are not UTF-8 — is invalid_input / 65 for the same reason the log
path is: the input is wrong, not the filesystem.
pub fn from_evidence_file(error: Error, path: &Path) -> Self
Sourcepub fn stale_backup(path: &Path) -> Self
pub fn stale_backup(path: &Path) -> Self
A leftover repair backup blocks a copy-and-swap. Naming the file keeps the retry from reporting the collision instead of the original failure.
Trait Implementations§
Source§impl Error for AppError
impl Error for AppError
1.30.0 · 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()