In this chapter, you learned how to use exception handling to deal with errors in a program. You learned that exception handling enables you to remove error-handling code from the “main line” of the program’s execution. We demonstrated exception handling in the context of a divide-by-zero example. We reviewed how to use
try blocks to enclose code that may throw an exception, and how to use
catch handlers to deal with exceptions that may arise. You learned how to throw and rethrow exceptions, and how to handle the exceptions that occur in constructors. The chapter continued with discussions of processing
new failures, dynamic memory allocation with class
unique_ptr and the standard library exception hierarchy. In the next chapter, ...