modificações nas excessões e implementação do método compactMemory