Me deparei com este exemplo recentemente:
Se 999 vezes fora de 1.000, uma exceção não será lançada, a exceção será gerada apenas uma vez. Por outro lado, uma condicional teria sido chamada desnecessariamente 999 vezes, portanto, neste caso, a exceção é superior.
Nesse caso, é C #, mas, de um modo geral, isso é verdade? Eu já havia assumido que as instruções try / catch tinham uma sobrecarga própria que seria igual ao tempo gasto no processamento de uma condição.
É verdade que apenas lançar blocos try / catch em qualquer lugar que normalmente seria condicional seria uma maneira terrível de codificar, mas em termos de recursos essa declaração se mantém?