Prática com relação a exceções

Bom dia,

Gostaria de saber qual a "melhor prática" para realizar a seguinte tarefa:

Tenho a classe que é responsável por avaliar se uma senha fornecida é valida e sendo válida ele troca por uma nova senha fornecida, hoje quando a senha atual está errada, eu lanço uma exceção que o cliente dessa classe deve tratar ou relançar.
A pergunta é: Isso é indicado? Agora estou fazendo uma lógica para contar quantas tentativas foram feitas e para isso deveria pegar o Cacth da exceção que lancei no cliente e somar no objeto de controle. Li em um livro que não se deve usar exceções para controlar lógica de negócio, mas não estou certo se esse caso se enquadra.