Dynamic allocation of an exception (as in this example) is not a good idea:
Err(const char * description);
throw new Err("failed"); //exception object is dynamically allocated on the free store
(Maximum characters: 1200). You have 1200 characters left.