Throwing an Exception
There are four rules that apply to the
function that we supply:
1)   it must not take any arguments,
2)   it must not return data,
3)   it must not return; it can only
terminate by calling exit or abort,
and
4)   it is not allowed to throw an
exception.
5) the header file <exception> is
needed to use set_terminate.