Сообщение [Request-for-help] API for temp file. от 24.09.2016 9:17
Изменено 25.09.2016 18:42 Sinix
Long story short: у нас в CodeJam среди кучи других полезняшек есть микро-хелпер для работы с временными файлами: завёл-поработал-оноавтоматомгрохнулось.
Выглядит как-то так:
И всё вроде было отлично, пока не пришёл уважаемый Vasiliy2
Текущее поведение вроде как соответствует FDG (ага, нет явных доводов за любую позицию — обращайся к FDG) и проглатывает исключения, связанные с ошибками удаления файла. Молча проглатывает. Почему так — см вот эту
И теперь собственно вопрос: а как быть-то? Основные варианты собраны вот тут, кому лень открывать —
Варианты и предложения приветствуются
Выглядит как-то так:
using (var tempFile = TempData.CreateFile())
{
DoSomethingWith(tempFile.Path);
}
// file is deleted for nowИ всё вроде было отлично, пока не пришёл уважаемый Vasiliy2
Автор: Vasiliy2
Дата: 22.09.16
и не задал нехороший вопрос: а что нужно делать, если временный файл удалить не получается? С контрольным аргументом: куча последовательных вызовов выкушает всё место и наступит полная печальДата: 22.09.16
Текущее поведение вроде как соответствует FDG (ага, нет явных доводов за любую позицию — обращайся к FDG) и проглатывает исключения, связанные с ошибками удаления файла. Молча проглатывает. Почему так — см вот эту
Автор: Sinix
Дата: 22.09.16
кучу цитат. Если коротко — сигналить "всё пропало, шеф" при диспозе не очень хорошо, т.к. это может привести к ещё худшим последствиям.Дата: 22.09.16
И теперь собственно вопрос: а как быть-то? Основные варианты собраны вот тут, кому лень открывать —
| скопировал | |
| |
Варианты и предложения приветствуются
[Request-for-help] API for temp file.
Long story short: у нас в CodeJam среди кучи других полезняшек есть микро-хелпер для работы с временными файлами: завёл-поработал-оноавтоматомгрохнулось.
Выглядит как-то так:
И всё вроде было отлично, пока не пришёл уважаемый Vasiliy2
Текущее поведение вроде как соответствует FDG (ага, нет явных доводов за любую позицию — обращайся к FDG) и проглатывает исключения, связанные с ошибками удаления файла. Молча проглатывает. Почему так — см вот эту
И теперь собственно вопрос: а как быть-то? Основные варианты собраны вот тут, кому лень открывать —
Варианты и предложения приветствуются
UPD. И да, FileOptions.DeleteOnClose подходит не всегда. Чтоб не спорить — у нас точно такой же хелпер есть для директорий. Что с ними делать будем? ; )
Выглядит как-то так:
using (var tempFile = TempData.CreateFile())
{
DoSomethingWith(tempFile.Path);
}
// file is deleted for nowИ всё вроде было отлично, пока не пришёл уважаемый Vasiliy2
Автор: Vasiliy2
Дата: 22.09.16
и не задал нехороший вопрос: а что нужно делать, если временный файл удалить не получается? С контрольным аргументом: куча последовательных вызовов выкушает всё место и наступит полная печальДата: 22.09.16
Текущее поведение вроде как соответствует FDG (ага, нет явных доводов за любую позицию — обращайся к FDG) и проглатывает исключения, связанные с ошибками удаления файла. Молча проглатывает. Почему так — см вот эту
Автор: Sinix
Дата: 22.09.16
кучу цитат. Если коротко — сигналить "всё пропало, шеф" при диспозе не очень хорошо, т.к. это может привести к ещё худшим последствиям.Дата: 22.09.16
И теперь собственно вопрос: а как быть-то? Основные варианты собраны вот тут, кому лень открывать —
| скопировал | |
| |
Варианты и предложения приветствуются
UPD. И да, FileOptions.DeleteOnClose подходит не всегда. Чтоб не спорить — у нас точно такой же хелпер есть для директорий. Что с ними делать будем? ; )