# `FFix.Runner.Error`
[🔗](https://github.com/akash-akya/ffix/blob/v0.2.0/lib/ffix/runner/error.ex#L1)

A missing command executable or an unsuccessful process exit.

`kind` is `:spawn` or `:exit`. The `message` is suitable for logs, and
`result` contains captured diagnostics. `exit_status` is available when the
process produced one. See `FFix.Runner.Result` for its fields.

`FFix.run/2` returns `{:error, error}`. `FFix.run!/2` raises this exception.
Process I/O follows `Exile.stream/2` semantics rather than producing this error.
Exceptions from your own callbacks and stream consumers propagate separately.

# `kind`

```elixir
@type kind() :: :spawn | :exit
```

# `t`

```elixir
@type t() :: %FFix.Runner.Error{
  __exception__: term(),
  exit_status: FFix.Runner.Result.exit_status() | nil,
  kind: kind(),
  message: String.t(),
  result: FFix.Runner.Result.t()
}
```

---

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