Exceção não é controle de fluxo. Exceção é exceção. 🤷♀️
Reposted from
zoeyrinha 🏳️⚧️
excessão como controle de fluxo é mto triste...
Comments
“não use exceção para controle de fluxo”
só gera ruído! exceção faz parte de um controle de fluxo… FLUXO DE ERRO!
questionável eh usá-lá p/ outros tipos de fluxos 🤷🏻♀️
construir sistemas Java e evitar Exceptions eh como nadar contra a maré! 😵💫
Usar exceção pra controle de fluxo, em C#, significa desviar o fluxo deliberadamente – o que equivale ao uso do goto e por isso é problemático, além do custo absurdo que isso traz pro runtime.
Dependendo da linguagem o significado muda.
Doido. Né?
mas compara-lo a goto eh, na minha opinião, meio que forçar a barra, pois o escopo de exceptions se limita (ou deveria) a fluxos de erro.
no mais, desculpa se a JVM eh melhor que a CLR 😬
O problema aí nem é o CLR, é o CTS. Quem achou que seria uma boa ideia 👇🏾
Pra SystemExceptions é uma maravilha porque a stack trace é riquíssima, mas esse incentivo a usar exceções de aplicação foi um erro.
Outra coisa, acho que o termo fica meio dúbio. Exceção não no sentido de fuga a regra, mas de caso imprevisível, excepcional.
Quanto ao custo: isso é implementação. Usando ou não exception para tratar um erro sempre vira pelo menos um branch no processador.
Usar essa porra me consumiu mais de um semestre no mestrado em um código de simulação por causa de uma praga de erro numérico que deveria subir e não aparecia até várias interações depois.
Só resolvi quando eu botei a verificação manual e eu mesmo parava o processo quando dava merda.
Isso me impediu de enxergar vários outros erros, tudo simultâneo.
Gosto de usar essa imagem do primo do @jeffquesado.ulivre.dev como referencia
StopIteration é a exceção que te diz que não tem nada no iterador do qual você tá tentando tirar o próximo elemento. é a forma que o Python entende e lida com o fim de um for.