List<string> errorLog = new List<string>();
foreach (DirectoryInfo dir in directories)
{
try
{
dir.Delete(true);
}
catch (System.IO.IOException msg)
{
code = 5;
errorLog.Add(String.Concat(dir.FullName, " ", msg.Message));
Console.WriteLine("Error Removing the directory: {0}", dir.FullName);
}
}
У меня есть цикл for each
, который пройдет через список каталогов и удалит их, но сохранит родительский каталог. Если возникла ошибка, я хотел бы зарегистрировать ее. Я создал list
, а в catch
добавьте ошибки. В конце я могу проверить длину списка errorLog, и если он больше нуля, я могу их распечатать. Я видел сообщения, в которых они вызывают using
и streamwriter
, но что произойдет, если что-то произойдет во время записи журнала ошибок?Ошибки регистрации, а затем их распечатка
Является ли это тем, что я считаю плохой практикой? Если да, что мне делать?
Вход в консоль невелик, я бы по крайней мере зарегистрировался в текстовом файле. Какой тип приложения вы разрабатываете? Если это веб-приложение, я бы использовал пакет регистрации, например log4net или что-то подобное. Если у вас есть база данных, я могу войти в базу данных. Вход в файл или базу данных значительно облегчает просмотр журналов, и в конце дня вы создаете журналы для их просмотра, когда что-то идет не так, тем быстрее вы можете сделать это лучше. –
@JeffFinn - простое приложение командной строки. Я делаю вывод в текстовый файл. Когда для каждого сделано, если errorlog больше 0, я буду писать в текстовый файл. –