criando o pacote de exceptions e arrumando parte do código para se adaptar a refatoração feita antes