terminate() function is called explicitly.
MISRA-C++ Rule 15-5-3 (required): The terminate() function shall not be called implicitly.
[Implementation 15.5.1(2)]
Rationale
It is implementation-defined whether the call stack is unwound before terminate() is called, so the destructors of any automatic objects may or may not be executed.