| .. title:: clang-tidy - bugprone-unhandled-exception-at-new |
| bugprone-unhandled-exception-at-new |
| =================================== |
| Finds calls to ``new`` with missing exception handler for ``std::bad_alloc``. |
| Calls to ``new`` can throw exceptions of type ``std::bad_alloc`` that should |
| be handled by the code. Alternatively, the nonthrowing form of ``new`` can be |
| used. The check verifies that the exception is handled in the function |
| that calls ``new``, unless a nonthrowing version is used or the exception |
| is allowed to propagate out of the function (exception handler is checked for |
| types ``std::bad_alloc``, ``std::exception``, and catch-all handler). |
| The check assumes that any user-defined ``operator new`` is either |
| ``noexcept`` or may throw an exception of type ``std::bad_alloc`` (or derived |
| from it). Other exception types or exceptions occuring in the objects's |
| constructor are not taken into account. |