refatoracao de exceptions e testes