...
Exceptions thrown in destructors of objects with static storage duration or in constructors of namespacescope namespace scope objects with static storage duration are not caught by a function-try-block on
main()
. Exceptions thrown in destructors of objects with thread storage duration or in constructors of namespace-scope objects with thread storage duration are not caught by a function-try-block on the initial function of the thread.
When declaring an object with static or thread storage duration, the type's constructor must be declared noexcept(true)
and comply with ERR37ERR55-CPP. Honor exception specifications.
For more information on exception specifications of destructors, see DCL40DCL58-CPP. Destructors and deallocation functions must be declared noexcept.
...
...