# E0026

Warning name: `unused_catch_all`

```{hint}
The syntax of `catch!` is deprecated.
```

The patterns are complete so the usage of `catch!` is useless. In MoonBit, when
there is only one error type that will be raised in a try block, compiler will
know that the error type is the only one that will be caught. So, there is no
need to use `catch!` in this case.

## Erroneous example

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

## Suggestion

Remove the `!` in the `catch!`:

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