У меня есть эта функция, которую я использую для моей проверкиПолучение имени переменной, во время обработки которой произошло исключение?
public void Validate()
{
Action<List<Field>> validateFields = (field) =>
{
if (field != null && field.Any())
{
field.ForEach(x => x.Validate());
}
};
new List<List<Field>> { this.PersonElements, this.ContactElements, this.MiscElements }.ForEach(x =>
{
try
{
validateFields(x);
}
catch (Exception e)
{
Log.ErrorFormat("An exception has occurred while validation of {1} : {0}", e, x.ToString()); // print something as x.Name.ToString());
throw;
}
});
}
Проблема с этой линии:
new List<List<Field>> { this.PersonElements, this.ContactElements, this.MiscElements }.ForEach(x =>
мне нужно (в случае, если исключение произошло) лог-то как
Исключение произошло при попытке обработать «PersonElements/ContactElements/MiscElements» в зависимости от того, в какой валидации произошло исключение.
Как получить имя переменной списка в случае возникновения исключения во время его обработки?
Заранее спасибо.
Вы можете использовать 'List <Кортеж >>' и хранить имя элемента в строке части. –
@NicoSchertler: кажется логичным для меня. Благодарю. –
@NicoSchertler: Рассмотрите отправку в качестве ответа, я приму его. BTW, способный добиться этого .. спасибо :) –