Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error Taxonomy

This chapter defines the intended typed error taxonomy that later implementation slices should converge on.

Goal

LincError should be the crate-wide typed failure surface for operational failures.

The design target is to separate configuration and scan execution failures, preprocessing and parse failures, ABI probe failures, artifact inspection failures, and serialization or schema failures.

Validation findings are deliberately different. They should remain structured report output, not thrown as operational errors.

Current Coverage

The current enum already contains variants for missing headers, preprocessor failure, parse failure, I/O failure, serialization failure, symbol-read failure, unsupported artifact format, and schema-version mismatch.

Intended Category Boundaries

  • configuration failure should be distinguishable from compiler failure
  • consumers should be able to distinguish toolchain invocation failure from source parse failure
  • probe failures should not be collapsed into generic scan or I/O text
  • path and context should be preserved in typed artifact errors

Validation Is Not An Error Channel

Validation mismatches should not be encoded as LincError. Validation should keep returning ValidationReport.