C++11: 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 should explicitly state that a function does not throw exceptions. This indicates to client-code programmers that there’s no need to place calls to 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, place
const. If a function that’s declared
noexcept calls another function that throws an exception or executes a
throw statement, the program terminates. ...