17.6 noexcept: Declaring Functions That Do Not Throw Exceptions

As of C++11, if a function does not throw any exceptions and does not call any functions that throw exceptions, you can explicitly state that a function does not throw exceptions. This indicates to client-code programmers that there’s no need to call the function in a try block. Simply add noexcept to the right of the function’s parameter list in both the prototype and the definition. For a const member function, you must place noexcept after const. If a function that’s declared noexcept calls another function that throws an exception or executes a throw statement, the program terminates. We’ll say more about noexcept in Section 24.4.

Get C++ How to Program, 10/e 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.