Handling Exceptions using try catch within C++ including why not to throw in a destructor

Handling Exceptions using try catch within C++ including why not to throw in a destructor