# `Tempo.InvalidDateError`
[🔗](https://github.com/elixir-tempo/tempo/blob/v2.1.1/lib/tempo/exception/invalid_date_error.ex#L1)

A value no date or time has: a unit outside the values its calendar gives
it, a day a month lacks, a reading the clock skips.

* `:value` is the value, as written or as built, or the units it was
  built from where one of them is no unit's value (`hour: "09"`).

* `:unit` is the unit at fault, where one is.

* `:reason` says why: `:out_of_range`, `:end_of_day` (24:00 written where it
  is not an end of an interval), `:no_such_date`, `:skipped_by_the_clock`,
  `:needs_a_year`, `{:not_a_unit_value, held}`, `{:annotated, held}`, or a
  short description.

# `t`

```elixir
@type t() :: %Tempo.InvalidDateError{
  __exception__: term(),
  reason: term(),
  unit: atom() | nil,
  value: term()
}
```

---

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