# `Localize.LiteralMemoryError`
[🔗](https://github.com/elixir-localize/localize/blob/v1.4.0/lib/localize/exception/literal_memory_error.ex#L1)

Exception raised when data cannot be kept because the VM's literal memory has no room for it.

The VM keeps the terms of `:persistent_term`, where Localize keeps each loaded locale, in its literal area, whose size is fixed when the VM starts: a gigabyte by default on a 64-bit VM. A term the area cannot take stops the VM, so Localize does not keep one the VM reports no room for. `:what` describes the data, `:needed` is its size in bytes and `:free` the bytes the VM reports free in the area.

A VM started with a larger literal area holds more: `+MIscs 2048` is two gigabytes, the size being in megabytes.

# `t`

```elixir
@type t() :: %Localize.LiteralMemoryError{
  __exception__: term(),
  free: non_neg_integer(),
  needed: non_neg_integer(),
  what: String.t()
}
```

---

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