Size: a a a

2021 February 26

A

Alex in pro.cxx
ну что я могу сказать, вы мне про теорию, а у меня есть практика
источник

A

Alex in pro.cxx
чтобы к файлу обратиться, всё-таки обычно не требуется выделять память под строку пути размером 64 МБ
источник

D

Dmitriy in pro.cxx
Alex
вот буквально, 0 раз за 9 лет в проде была такая проблема
Скажем... За чуть менее чем год в проде 1 раз видел.
источник

VS

Vladimir Suisei in pro.cxx
Alex
в жизни не видел std::bad_alloc
Мир айти слишком большой, чтобы со всеми происходили все возможные вещи
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
в жизни не видел std::bad_alloc
Я встречал bad_alloc на винде несколько раз. Один был следствием UB (юзание по ссылке уничтоженного объекта, в там у строки в итоге был мусор вместо размера => попытки выделить  триллиарды памяти). Второй раз был следствием бага msvc (оптимизатора), притом падало с bad_alloc до main-а на создании глобальных переменных. Кстати, не уверен, что этот баг пофикшен(
источник

ПК

Побитый Кирпич... in pro.cxx
В первом случае ничего не падало, исключения перехватывались в шедулере и работа шла дальше
источник

CD

Constantine Drozdov in pro.cxx
Alex
чтобы к файлу обратиться, всё-таки обычно не требуется выделять память под строку пути размером 64 МБ
так вы говорите, что не видели bad_alloc
давайте дальше, как организовать нормальную future/promise систему без исключений типа already_detached и abandoned?
источник

A

Alex in pro.cxx
Не знаю, не юзаю future/promise ни в проде, ни в своих пет-проектах, не встречал подходящих для них задач. Или не распознал, поэтому сделал по-другому, как знать.
источник

CD

Constantine Drozdov in pro.cxx
Alex
Не знаю, не юзаю future/promise ни в проде, ни в своих пет-проектах, не встречал подходящих для них задач. Или не распознал, поэтому сделал по-другому, как знать.
ну а что вы тогда делаете, json парсите?
источник

A

Alex in pro.cxx
хотя мне не понятно, зачем для future/promise нужны исключения, кроме факта, что std реализация на них завязана, видимо
источник

CD

Constantine Drozdov in pro.cxx
Alex
хотя мне не понятно, зачем для future/promise нужны исключения, кроме факта, что std реализация на них завязана, видимо
чтобы не делать nullable типы и проверку на null примерно в каждом месте
источник

A

Alex in pro.cxx
Constantine Drozdov
ну а что вы тогда делаете, json парсите?
Да чего только ни делали за столько лет. Картинки обрабатываем, цифровыми камерами управляем, в пет-проектах у меня файловый менеджер и карманная СУБД.
источник

CD

Constantine Drozdov in pro.cxx
когда метод должен вернуть либо осмысленный объект, либо катастрофическая ошибка логики, очень странно возвращать Result
источник

A

Alex in pro.cxx
да, я понимаю логику, из которой родились исключения
источник

A

Alex in pro.cxx
вот только на практике очень мало катастрофических ошибок, много таких, которые нужно обработать и продолжать работу
источник

CD

Constantine Drozdov in pro.cxx
Alex
вот только на практике очень мало катастрофических ошибок, много таких, которые нужно обработать и продолжать работу
да, только разрулить катастрофическую ошибку операции может только вызвавший эту операцию
источник

CD

Constantine Drozdov in pro.cxx
так что протаскиваем через 20 вызовов
источник

ПК

Побитый Кирпич... in pro.cxx
Constantine Drozdov
чтобы не делать nullable типы и проверку на null примерно в каждом месте
Так и делают, и на парсинге json-а не будет исключений. Привет Qt-шный json, который просто при ошибке вернёт invalid объект и не дай бог не проверить его на инвалидность - как раковая опухоль invalid разрастётся по программе и хрен найдешь потом откуда оно пошло. Примерно как NaN.
источник

A

Alex in pro.cxx
для этого есть assert
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
для этого есть assert
Это тот assert который надо не забыть написать? :)
источник