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, ...
Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.