# E0087

Warning name: `guard_inexhaustive`

A `guard` without an `else` clause may fail. When its condition is false or its
pattern does not match, it would implicitly terminate the program.

## Erroneous example

```{literalinclude} /sources/error_codes/0087_error/top.mbt
:language: moonbit
```

## Suggestion

Add an `else` clause to handle failure, or use `guard!` when termination is
intentional.

```{literalinclude} /sources/error_codes/0087_fixed/top.mbt
:language: moonbit
```
