Executando verificação de segurança...
1

Veja:

goto não tem nada de pré-histórico e tem sua serventia. para quem sabe usar. O uso errado não invalida a ferramenta. E as pessoas usam ele o tempo todo com break e continue, nem vou falar com throw porque é o pior tipo de goto que existe, é um que sais da unidade de execução e vai para um lugar que você nem imagina qual é.

Exceção é um mecanismo errado e as linguagens mais modernas não adotam mais isso.

Então usamos por modinha, ou seja, porque todo mundo usa. E faz algum sentido, porque se a cultura de bibliotecas e frameworks e até códigos abertos de projetos usam exceções, e muitas vezes a linguagem não tem um mecanismo melhor, então é ela que devemos usar.

Ela em si nem é tão problemática se for usada para o que é mais que excepcional, ou seja, erro de programação. Se usar para mais uma coisa e for os casos de falhas que só podem ser percebidas em tempo de execução e tem como se recuperar disso, então é ok.

Mesmo isso em muitas linguagens é ter muitas exceções e poucas capturas. Embora difícil, o ideal seria ter apenas um try-catch. Vai com o mínimo possível.

Tem linguagens que só te dão essa opção para saber se algo falhou, então vai, e diga que não está sentindo falta de algo melhor.

Aproveito para mandar mais esta: https://pt.stackoverflow.com/q/441073/101, já que falou do assunto. Então talvez o erro já esteja aí, aí sai tudo errado. Hoje que mais se fala e se inventa de técnica ou tecnologia nova é para consertar alguma coisa errada que as pessoas começaram fazer e achavam uma boa ideia, em vez de consertar o erro original.

Por que o domínio não pode ter validação? E por que a validação tem que gerar uma exceção? Talvez aqui https://pt.stackoverflow.com/q/16089/101 explique melhor como uma API pode ser interessante de gerar uma exceção ou apenas indicar que não deu o resultado esperado.

Se você ler com atenção os links que passei dá uma ideia mais aprofundada.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

Carregando publicação patrocinada...