Me encontré con este ejemplo recientemente:
Si 999 de cada 1,000 veces no se lanzará una excepción, la excepción solo se genera una vez. Por otro lado, un condicional se habría llamado innecesariamente 999 veces, por lo tanto, en este caso, la excepción es superior.
En este caso, es C #, pero, en general, ¿es esto cierto? Anteriormente había asumido que las declaraciones try / catch tenían sus propios gastos generales que equivaldrían al tiempo dedicado a manejar un condicional.
Por supuesto, solo lanzar bloques try / catch en cualquier lugar donde normalmente iría un condicional sería una forma terrible de codificar, pero en términos de recursos, ¿esta afirmación se mantiene?
fuente