tengo este códigonúmero de línea incorrecta en seguimiento de la pila
try
{
//AN EXCEPTION IS GENERATED HERE!!!
}
catch
{
SqlService.RollbackTransaction();
throw;
}
Código anterior que se llama en este código
try
{
//HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE
}
catch (Exception ex)
{
HandleException(ex);
}
La excepción se pasa como parámetro al método "HandleException" contiene el número de línea de la línea "throw" en el seguimiento de la pila en lugar de la línea real donde se generó la excepción. ¿Alguien sabe por qué esto podría estar pasando?
EDIT1 Ok, gracias a todos por sus respuestas. Me cambió la captura interior para
catch(Exception ex)
{
SqlService.RollbackTransaction();
throw new Exception("Enrollment error", ex);
}
ahora tengo la línea correcta en el seguimiento de la pila, pero tenía que crear una nueva excepción. Tenía la esperanza de encontrar una mejor solución :-(
Edit2 Tal vez (si usted tiene 5 minutos) puede probar este escenario con el fin de comprobar si se obtiene el mismo resultado, no es muy complicado de recrear.
¿Estás seguro de que no dice 'throw ex;'? – SLaks
100% seguro, raro: -s –
¿La excepción original está siendo ocultada por uno tal vez lanzado por SqlService.RollbackTransaction? –