Skip to Content
Navigating C++ and Object-Oriented Design
book

Navigating C++ and Object-Oriented Design

by Paul Anderson, Gail Anderson
October 1997
Intermediate to advanced
800 pages
20h 48m
English
Pearson
Content preview from Navigating C++ and Object-Oriented Design

4.6. Exception Objects

Up to now we have only thrown character string exceptions from functions that raise exceptions. This type of exception handling is limited and may not provide enough information for catch handlers in many programs. A better approach creates exception objects that use constructors to encapsulate information about why a function raised an exception. Once a function throws an exception object, a catch handler may call member functions that help the program decide what to do.

To illustrate why exception objects are beneficial, let's consider the File class constructors from page 186.

 Fifo::File(const char *fn, const char *mode = "w+") { fp = fopen(fn, mode); if (fp == NULL) throw "can't open file"; } Fifo::File() { fp = tmpfile(); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Exploring C++20: The Programmer's Introduction to C++

Exploring C++20: The Programmer's Introduction to C++

Ray Lischner

Publisher Resources

ISBN: 0135327482Purchase book