# `failure.outcome_missing_arm`

Outcome match does not handle every failure.

Area 3, [Logic](../topics/logic.md); not declinable; the next step is usually the agent's.

```jadpo
function missing_failure(key: LookupKey) -> LookupResult {
    return match lookup(key) {
        success(value) -> value
        LookupMissing -> "missing"
    }
}
```

```text
error: This `match` doesn't handle `LookupRefused`
 --> main.jadpo:2:12
  |
2 |     return match lookup(key) {
  |            ^^^^^^^^^^^^^^^^^ failures not handled
  reason: `lookup(...)` can fail with `LookupMissing` and `LookupRefused`, and a `match` on its outcome has an arm for every one: a value, `reject` or `propagate`.
  next: Add an arm for `LookupRefused` (agent)
  rule: failure.outcome_missing_arm
  help: https://jadpo.dev/docs/errors/failure.outcome_missing_arm

check failed: 1 error, 2 files
```
