Do you want to learn how to do proper error handling in Swift? Start here. By the time you will finish reading these articles, you will have a better understanding of functional programming, you will learn some new design patterns, and you will definitely fall in love with promises.

First, learn how to handle errors in the traditional way...

Errors in swift

Now you know what's a result type. Let's add some extra functionality.

Functors, Monads

Here we are. Promises. The real deal. Go for it.

Promise libraries

yellow mark = recommended (contains everything that you'll need)

Final suggestion: make promises.  You won't regret it. ;)