Replace throw by terminate in destructor
In C++11 destructors are implcity noexcept such
that a throw leads to a call of std::terminate()
anyway. Hence this commit does not change the behaviour
but only avoids a warning.
BTW: Destructors are noexcept for good reason, because
it is in general very hard to recover from a failing destructor.
This also applies here.