me he encontrado con el siguiente tipo de código muchas veces, y me pregunto si esto es una buena práctica (desde la perspectiva de rendimiento) o no:Consideraciones de rendimiento para lanzar excepciones
try
{
... // some code
}
catch (Exception ex)
{
... // Do something
throw new CustomException(ex);
}
Básicamente, lo que el codificador lo que está haciendo es que están abarcando la excepción en una excepción personalizada y lanzando eso de nuevo.
¿Cómo difiere esto en el rendimiento de los dos siguientes:
try
{
... // some code
}
catch (Exception ex)
{
.. // Do something
throw ex;
}
o
try
{
... // some code
}
catch (Exception ex)
{
.. // Do something
throw;
}
Dejando a un lado las mejores argumentos práctica funcionales o de codificación, ¿hay alguna diferencia de rendimiento entre los 3 enfoques?
Pequeña adición: elimine el ex o cree una advertencia de variable no utilizada. tratar { // algún código } catch (Exception) { tiro; } – Dennis
Buen punto - Me perdí eso en el copiar y pegar. – Keith