Tengo una pregunta hipotética sobre las consecuencias de la eficacia del uso del manejo de excepciones en situaciones donde no se lanzan excepciones.Eficiencia de la excepción cuando no se arroja nada
Primero echar un vistazo a este C#:
int simpleSimon, cautiousCarol, dangerousDave;
try
{
simpleSimon = int.Parse("fail");
}
catch
{
simpleSimon = 1;
}
try
{
cautiousCarol = int.Parse("1");
}
catch
{
cautiousCarol = 1;
}
dangerousDave = int.Parse("1");
Estoy seguro de que el código de Dave será el más rápido/más eficiente; mientras que Simon incurrirá en una gran penalización por lanzar una excepción.
Pero ¿qué pasa con Carol? Como ella no lanza excepciones, ¿incurre en una penalización? Si es así, ¿qué tipo y qué tan grande? (¿Penalización de rendimiento o uso de memoria adicional o cualquier otra cosa?)
+1 para nombres de variables! – JonH
posible duplicado de [Costo de rendimiento de 'probar' en C#] (http://stackoverflow.com/questions/867017/performance-cost-of-try-in-c) –