Após pesquisar um pouco verifiquei que colocam como boa prática utilizar tratamento de exceção somente quando ocorrer um desvio no mecanismo da aplicação e não para tratar regras de negócio, conforme é feito no curso da Alura.
A existência dessa ferramenta de tratamento de exceções foi concebida para tratar regras de negócio ou adaptou-se isso para o uso? Devo validar dados de entrada com um simples if ou usar try/catch?
Gostaria que o professor desse uma explicação sobre esta questão de usar ou não tratamento de exceções para regras de negócio.