У меня есть этот код
try
{
//AN EXCEPTION IS GENERATED HERE!!!
}
catch
{
SqlService.RollbackTransaction();
throw;
}
Код выше вызывается в этом коде
try
{
//HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE
}
catch (Exception ex)
{
HandleException(ex);
}
Исключение, переданное как параметр методу "HandleException", содержит номер строки строки "throw" в трассировке стека вместо реальной строки, в которой было создано исключение. Кто-нибудь знает, почему это может произойти?
EDIT1 Хорошо, спасибо всем за ваши ответы. Я изменил внутренний catch для
catch(Exception ex)
{
SqlService.RollbackTransaction();
throw new Exception("Enrollment error", ex);
}
Теперь у меня есть правильная строка в трассировке стека, но мне пришлось создать новое исключение. Я надеялся найти лучшее решение: - (
EDIT2 Возможно (если у вас есть 5 минут), вы можете попробовать этот сценарий, чтобы проверить, получился ли у вас тот же результат, который не очень сложно воссоздать.