Native error handling
Languages such as Java and C# generally refer to the error handling process as exception handling; within the Swift documentation, Apple refers to this process as error handling. While on the outside, the Java and C# exception handling may look somewhat similar to Swift's error handling, there are some significant differences that those familiar with exception handling in the other language will notice throughout this chapter.
Representing errors
Before we can really understand how error handling works in Swift, we must see how we would represent an error. In Swift, errors are represented by values of types that conform to the Error
protocol. Swift's enumerations are very well-suited to modeling error conditions because generally we have a finite number of error conditions to represent.
Let's look at how we would use an enumeration to represent an error. For this, we will define a fictitious error named MyError
with three error conditions, Minor
, Bad
, and Terrible
:
enum...