Have you had a vet check him out? I doubt a hairball would be the culprit, but a stick or part of a woobie could be stuck in his throat.....