# Standard Error Contract

> A technique for giving every error one published shape with a code, a message and its context.

Record: `lexicon:standard-error-contract`
Kind: technique
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-standard-error-contract

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Version Sprawl](https://banes-lab.com/records/lexicon/version-sprawl.md) and before [Introduce Boundary DTO](https://banes-lab.com/records/lexicon/introduce-boundary-dto.md).

## Category

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/records/lexicon-category/contracts-interfaces-compatibility.md)

## Refactors

- [Inconsistent Error Model](https://banes-lab.com/records/architecture/inconsistent-error-model.md)
- [API Contract](https://banes-lab.com/records/architecture/api-contract.md)
- [Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)
- [Self-Describing API](https://banes-lab.com/records/architecture/self-describing-api.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/architecture-category-metadata-self-description-declarative-systems.md)
