Best Practises for Error handling elixir?

If only match return value with {:ok, _} and it failed, we will got an error message that match failed, which is not exactly right.

It’s more concise to have error message that tell us what exactly error is rather than find that error with match error. This somehow means, we still need to match the {:error, _} pattern and do some logging etc. Any idea to remove this complexity?