Скажите, у меня есть такой метод:
public void SaveData()
{
try
{
foreach (var somevar1 in list.SomeType1s)
{
CEData.SaveRow(sometype1)
}
foreach (var somevar2 in list.SomeType2s)
{
CEData.SaveRow(sometype2)
}
foreach (var somevar3 in list.SomeType3s)
{
CEData.SaveRow(sometype3)
}
foreach (var somevar4 in list.SomeType4s)
{
CEData.SaveRow(sometype4)
}
foreach (var somevar5 in list.SomeType5s)
{
CEData.SaveRow(sometype5)
}
}
catch (Exception e)
{
logger.DebugException("Rollback Occured with the following stack trace: \r\n"
+ e.StackTrace, e);
Rollback();
throw;
}
}
есть ли способ узнать в части улова, к какой строке я попал? Моя трассировка стека просто скажет, что она была в методе SaveData (), но не в какой строке произошла ошибка.
Я мог бы войти в журнал добавления между каждой строкой, но я бы предпочел не делать этого (из-за различных версий кода отладки).
Итак, я подумал, что спросить. Можно ли узнать, какая строка выполнялась при возникновении исключения?
Подробнее:
Похоже, номера строк должны быть стандартными. Единственная причина, по которой я вижу, что я их не получаю, заключается в том, что я занимаюсь разработкой Windows Mobile и Compact Framework. Так может они не входят в компактные рамки? (Мой проект имеет "полный" набор для вывода информации отладки.)