In this chapter, we looked at Swift's error-handling features. While we are not required to use this feature in our custom types, it does give us a uniform way to handle and respond to errors. Apple has also started to use this error handling in their frameworks. It is recommended that we use error handling in our code.
We also looked at the availability attribute, which allows us to develop applications that take advantage of the latest features of our target operating systems, while still allowing our applications to run on older versions. In the next chapter, we'll take a look at how to write custom subscripts.