Adicionado comentários e orientação de uso e mensagem de erro.