# `UndefinedFunctionError`
[🔗](https://github.com/elixir-lang/elixir/blob/v1.20.0-rc.3/lib/elixir/lib/exception.ex#L1677)

An exception raised when a function is invoked that is not defined.

For example:

    # Let's use apply/3 as otherwise Elixir emits a compile-time warning
    iex> apply(String, :non_existing_fun, ["hello"])
    ** (UndefinedFunctionError) function String.non_existing_fun/1 is undefined or private

The following fields of this exception are public and can be accessed freely:

  * `:module` (`t:module/0`) - the module name
  * `:function` (`t:atom/0`) - the function name
  * `:arity` (`t:non_neg_integer/0`) - the arity of the function

---

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