Более идиоматические способ справиться с простой записи файла в C#?


Есть все, что вы хотели изменить следующие функции? Я приветствую любые отзывы о стиль, корректность и т. д. Спасибо за чтение.

Некоторые мои вопросы:

  1. Очевидно, я поймать исключение и преобразовать его в возвращаемое значение, потому что я не хочу, чтобы снять заявку в случае ошибки. Это было бы лучше, чтобы позволить исключение распространяется вверх и обработать его там (в функции, которая координирует создание импорт файлов)?
  2. Есть еще один, "лучше-в-общем" способ записи файлов?

    private static bool CreateImportFile(string path, string content)
    {
        try
        {
            using (var fileStreamWriter = File.CreateText(path))
            {
                fileStreamWriter.Write(content);
                fileStreamWriter.Close();
            }
        }
        catch (IOException e)
        {
            Console.WriteLine("Failed to write import file due to IOException. " + e.Message);
            return false;
        }
    
        return true;
    }
    


231
3
c#
задан 14 октября 2011 в 05:10 Источник Поделиться
Комментарии
1 ответ

Я думаю, что это более идиоматические, но я думаю, что этот стиль на самом деле не добавить много пользы за вызов файл.WriteAllText напрямую. Считайте, что ваш клиентский код будет нужно для обработки одного типа bool, результат никакой другой информации, почему это не удалось.

private static bool CreateImportFile(string path, string content)
{
try
{
File.WriteAllText(path, content);
}
catch (IOException e)
{
Console.WriteLine("Failed to write import file due to IOException. " + e.Message);
return false;
}

return true;
}

3
ответ дан 14 октября 2011 в 06:10 Источник Поделиться