170 похожих чатов

Добрый день, подскажите пожалуйста, есть файл json в котором хранятся

данные, при загрузке приложения я читаю из него данные и все отлично, а как правильнее поступить когда файл пуст? допустим у меня его нет, при десериализации на старте приложения, я его создам при помощи File.OpenOrCreate, но в нем же ничего нет и соответственно приложение падает с исключением. Ловить исключение и записывать туда пустой список к примеру, мне кажется костылем, а лучше в голову ничего не приходит

10 ответов

11 просмотров

Если падает при OpenOrCreate значит проблемы с записью в директорию, если проблемы, значит не пиши туда и перед Open делай File.Exists

Александр-Сотула Автор вопроса
Sherzod
Если падает при OpenOrCreate значит проблемы с зап...

Падает при попытке чтения из пустого файла, в файле же получается отсутсвует структура, он ожидает [], т.к. читаю сразу в коллекцию, а её просто нет

Александр-Сотула Автор вопроса
Sherzod
{} [] ""

вот и можно как-то структуру файла создать автоматически или только открывать файл и дописывать, не получается разобраться

оберни свое чтение в try/catch в catch присваиваешь дефультные настройки и опционально сериализуешь в свой файл

Александр-Сотула Автор вопроса
Gopneg
оберни свое чтение в try/catch в catch присваиваеш...

вот что-то такое и представлял, но думал, что это какое-то костыльное решение, думал как-то можно красивее сделать, автоматически =)

Александр Сотула
вот что-то такое и представлял, но думал, что это ...

три строки кода, чо тут тебе еще автоматического надо?

Александр-Сотула Автор вопроса
Gopneg
три строки кода, чо тут тебе еще автоматического н...

не знаю =) вдруг что-то было, а я не разобрался

ты вначале проверь есть ли файл, а потом костыли лепи

Александр-Сотула Автор вопроса

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
И из-за этого сужается карман. Нет свободного полёта. Они либо могут какой-то заточенный прикладной софт, либо какой-то простой системный написать. По шаблону. А, допустим, по...
КТ315
9
Всем привет! Подскажите, как решить проблему или из-за чего это происходит. У меня есть проблема в WebStorm (v.2024.1.3): я ставлю любую тему, и через какое-то время меняется ...
Alexander Sheigov
12
всем вопрос. есть функция, которая иногда в линуксе валится с исключением EConvertError Invalid argument to date encode на строке Result:=LocalToUtcDateTime(FileDateToDateTime...
Handatros
6
А с каким компилятором не будет ошибкой использовать асм вставки?
Replicant ~
14
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Карта сайта