DateTime MyDateTime;
try{
MyDateTime = DateTime.Parse(datestring, MyCultureInfo).Date;
//many other lines
}catch(Exception e){
Log(e);
}
У меня есть функция синтаксического анализа, в которой, помимо прочего, string
преобразуется в DateTime
объект.В большинстве случаев это работает, но иногда входная строка может находиться в другом DateFormat или содержать дополнительные строки, и преобразование завершается неудачей.
Для обработки этих случаев мне нужно знать, какие строки вызывали проблемы. Сообщение об исключении не скажет мне:
System.FormatException: строка не была распознана как допустимый DateTime.Существует неизвестное слово, начинающееся с индекса 0.
Даже при преобразовании в FormatException
объект исключения не предоставляет проблемную строку ввода:
try{
MyDateTime = DateTime.Parse(datestring, MyCultureInfo).Date;
//many other lines
}catch(FormatException e){
Log(e);
}
Что мне нужносделать, чтобы получить такой журнал?
System.FormatException: строка не была распознана как допустимый DateTime.Есть неизвестное слово, начинающееся с индекса 0.
Ввод: '2019.02.20'
Конечно, я мог бы охватить каждую строку в коде одним блоком try-catch
DateTime MyDateTime;
try{
MyDateTime = DateTime.Parse(datestring, MyCultureInfo).Date;
}catch(Exception e){
Log(e);
Log($"Input: '{datestring}'");
}
try{
//many other lines
}catch(Exception e){
Log(e);
}
Но это отстой.