#[non_exhaustive]pub enum WorkbookError {
EmptyLiteral,
Validation(String),
SheetManagement(String),
UnknownSheet(String),
DanglingSheetRef(String),
InvalidFormula(String),
InvalidReference(String),
DuplicateName(String),
RangeOverlap(String),
NotFound(String),
ResourceLimit(String),
}Expand description
Errors from workbook value-type constructors and from
Workbook::from_json /
Workbook::to_json.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EmptyLiteral
A formula-less cell whose value is empty is invalid: it would be
byte-distinguishable from the absent cell it denotes, breaking
canonical uniqueness (schema spec §4). Clear a cell by removing its
entry from the sheet’s cell map instead.
Validation(String)
A document-level rule was violated while parsing or serializing — a rule serde cannot express (schema spec §1, §2, §3, §5, §7, §8) or a resource-limit breach (scope ADR Decision 5). Carries a human-readable description of the first violation found.
SheetManagement(String)
A sheet-management operation
(add_sheet,
insert_sheet,
rename_sheet,
move_sheet) violated an invariant —
a duplicate sheet name under simple case folding (schema spec §2), a
name that is empty or exceeds the length limit (schema spec §3), the
per-workbook sheet cap (scope ADR Decision 5), an out-of-range tab
position, or an unknown sheet name. Carries a human-readable
description.
UnknownSheet(String)
Workbook::set directly named a sheet, by
name, that does not exist. Distinct from DanglingSheetRef — this
is the direct-operation-target case (a caller-supplied sheet name
argument), not an indirect reference embedded inside a
named-range/table ref string. Carries a human-readable description.
DanglingSheetRef(String)
A named-range or table ref string parses fine but names a sheet the
workbook does not have (schema spec §7’s dangling-ref rule, checked
eagerly at definition time rather than only at save). Distinct from
UnknownSheet — the caller here supplied a ref string to
validate, not a bare sheet-name argument. Carries a human-readable
description.
InvalidFormula(String)
A formula string failed to parse against the workbook’s locked engine
(Workbook::set’s syntax-only validation).
Carries a human-readable description.
InvalidReference(String)
A named-range/table name or ref is syntactically invalid or
non-canonical, independent of sheet existence: an invalid name shape
(must match ^[A-Za-z_][A-Za-z0-9_]*$ and not be an A1/R1C1/boolean
literal), a ref that fails to parse as a canonical reference, or a
ref that parses but is not a range where a range is required
(tables only). Carries a human-readable description.
DuplicateName(String)
A new named range or table’s name collides, case-insensitively, with an existing named range or table (cross-kind collisions included, since names and tables share one case-insensitive namespace per structured-references spec §4). Carries a human-readable description.
RangeOverlap(String)
A table’s range overlaps another table’s range
(structured-references spec §4 — table ranges must be disjoint).
Distinct from DuplicateName — the name is fine, the geometry
conflicts. Carries a human-readable description.
NotFound(String)
A redefine targeted a name/table that does not currently exist (the
update-only counterpart of DuplicateName’s create-time collision
check). Carries a human-readable description.
ResourceLimit(String)
A per-mutation resource cap from scope ADR Decision 5 was exceeded: workbook cell count, named-range count, table count, a text value’s scalar-value length, an array value’s element count, or a formula’s byte length. Carries a human-readable description.
Trait Implementations§
Source§impl Clone for WorkbookError
impl Clone for WorkbookError
Source§fn clone(&self) -> WorkbookError
fn clone(&self) -> WorkbookError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WorkbookError
impl Debug for WorkbookError
Source§impl Display for WorkbookError
impl Display for WorkbookError
impl Eq for WorkbookError
Source§impl Error for WorkbookError
impl Error for WorkbookError
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()