O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

13.6. Exception Specifications

Well-designed systems with exception handling need to define which functions throw exceptions and which functions do not. Comments that specify what exceptions a function may throw are error prone and difficult to maintain. A language-supported mechanism is necessary to document exception handlers and involve the compiler. With exception specifications, we describe exactly which exceptions, if any, a function throws. We also have ways to control what happens if functions throw an unexpected exception.

You append an exception specification to a function declaration or function definition. Here are the formats.

					Type function_name(signature) throw (e1, e2, eN);       // prototype 

Type function_name(signature) throw (e1, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required