The examples we wrote in previous chapters, especially the ones that illustrate how to dynamically create objects, can be considered pretty unsafe. The reason is simple: The examples contain no or very little error-handling code. The only examples that check for errors extensively are the examples that use the IOResult function to see if an I/O error occurred.
This chapter deals with exception handling (also known as structured exception handling) — an error-handling mechanism that enables you to respond to errors in a uniform manner.