# `Tempo.Iso8601EncodeError`
[🔗](https://github.com/elixir-tempo/tempo/blob/v1.6.4/lib/tempo/exception/iso8601_encode_error.ex#L1)

Exception raised when a `Tempo` value cannot be rendered as an ISO 8601
string because it contains a construct with no ISO 8601 representation.

The only such construct at present is a **nearest-weekday** recurrence —
the cron `W` day-of-month modifier (`15W`, `LW`), parsed by `Tempo.Cron`
into a `:nearest_weekday` selection token. Like RFC 5545 `BYSETPOS`/`WKST`
it has no ISO 8601 designator; unlike those, no project-specific
designator was minted for it (the equivalent day-level operation is
`Tempo.nearest_working_day/2`). Such a value round-trips only through its
cron string, not through `Tempo.to_iso8601/1`.

# `t`

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

---

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