# `Tempo.RequiresAnchorError`
[🔗](https://github.com/kipcole9/tempo/blob/v0.20.0/lib/tempo/exception/requires_anchor_error.ex#L1)

Exception returned when arithmetic on an un-anchored value (one with
no `:year`) would depend on the missing year, so it cannot be
resolved.

Some un-anchored arithmetic *is* answerable — `~o"1M31D"` shifted by
one day is `~o"2M1D"`, because January always has 31 days. But
shifting `~o"1M31D"` by one month lands in February, whose length
depends on the year, so there is no single answer. In that case
`Tempo.shift/2` (and the `Tempo.Math` arithmetic beneath it) returns
`{:error, %Tempo.RequiresAnchorError{}}` rather than guessing or
crashing.

# `t`

```elixir
@type t() :: %Tempo.RequiresAnchorError{
  __exception__: term(),
  duration: Tempo.Duration.t() | nil,
  reason: atom() | String.t() | nil,
  value: Tempo.t() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
