Size: a a a

2021 February 26

A

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

A

Alex in pro.cxx
а в catch уже не найдешь концов в рантайме
источник

CD

Constantine Drozdov in pro.cxx
Alex
Да если бы. В случае с return я могу полнотекстовым поиском найти все места вызова этой функции, и понимать, что вернуться она может только в это место. В случае с throw я могу или пойти застрелиться, или перейти в компанию, которая не юзает исключения в их С++ коде.
Самый большой вопрос: вы узнали, что результат вызова функции сохранён в переменную для дальнейшей обработки не пойми где. Если бы это был корутиновый код, у вас был бы шанс, что вы отловите цепочки обработки конкретных данных отладчиком, потому что они идут подряд.
источник

ПК

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

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Это тот assert который надо не забыть написать? :)
Который работает только в дебаге, потому что восстановиться в релизе программа не сможет :)
источник

A

Alex in pro.cxx
не понял, кто на ком стоял, чтобы проигнорировать что нужно писать код? Вы про catch?
источник

A

Alex in pro.cxx
Constantine Drozdov
Который работает только в дебаге, потому что восстановиться в релизе программа не сможет :)
ну полно вам, лет 7 назад написал ассёрт здорового человека и везде его юзаю. Который в релизе точно так же проверяет условие и пишет в лог, если ой.
источник

CD

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

CD

Constantine Drozdov in pro.cxx
а форматировать вывод пользователю надо протаскивать ошибку сильно выше
источник

A

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

CD

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

A

Alex in pro.cxx
у меня, как раз, почти все проекты с полноценным UI, поэтому да, нужно информировать пользователя
источник

CD

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

CD

Constantine Drozdov in pro.cxx
однопоточные UI приложения?
источник

A

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

A

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

CD

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

CD

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

A

Alex in pro.cxx
Qt, сигнал/слот)
Если без Qt, то есть мои сигнал/слот, есть очередь для перекладывания между потоками сообщений и/или кода (лямбд, std::function и т.д.). Или банально атомик проверять по таймеру.
А сделать чистый выход с остановкой дочерних потоков - наименьшая из проблем, обычно. Вообще не проблема.
источник

A

Alex in pro.cxx
а std::promise/future потокобезопасны?
источник