Added CPPExceptions abstract base class