15.8 Summary
Error handling is an essential part of creating robust and reliable iOS apps. Since the introduction of Swift 2 it is now much easier to both trigger and handle errors. Error types are created using values that conform to the ErrorType protocol and are most commonly implemented as enumerations. Methods and functions that throw errors are declared as such using the throw keyword. The guard and throw statements are used within the body of these methods or functions to throw errors based on the error type.
A throwable method or function is called using the try statement which must be encapsulated within a do-catch statement. A do-catch statement consists of an exhaustive list of catch pattern constructs, each of which contains the code to be executed in the event of a particular error being thrown. Cleanup tasks can be defined to be executed when a method returns through the use of the defer statement.