Micktu 😬
все что не может продолжать работу должно крашиться
Deleted Account
все что не может продолжать работу должно крашиться
а как же просто корректно завершиться с кодом возврата?
Micktu 😬
конкретно у меня в программе каждый блок критичен поэтому мне нет смысла защищаться - надо падать
Deleted Account
краш это ошибка
Micktu 😬
это и есть ошибка
Micktu 😬
это должно быть ФАТАЛЬНОЙ НАХУЙ ОШИБКОЙ
Deleted Account
это и есть ошибка
звучит не по с++
Micktu 😬
АААА ПАНИКА в таком духе
Micktu 😬
максимум что я хотел бы сделать это завернуть вызов под точкой входа в трай кетч
Micktu 😬
и вывести эксепшн
Micktu 😬
если доживу
Deleted Account
АААА ПАНИКА в таком духе
наверное я понел, просто непривычно слышать это как краш
Micktu 😬
а как же просто корректно завершиться с кодом возврата?
я просто кажу что думаю - это красиво, но нереалистично
Micktu 😬
во-первых, крашатся все сейфовый код занимает ОЧЕНЬ много эффорта
Micktu 😬
проще использовать ассерты в подозрительных местах и крашиться заблаговременно
Micktu 😬
это тоже информативная ошибка
Micktu 😬
единственное что не должно крашиться - это какой-то риалтайм расчитанный на длительную работу в цикле
Micktu 😬
он может спастись
Micktu 😬
а ваншотным программам зачем это? они ж ничегго не попортят, слава виртуальной памяти
rostislav
У меня тут есть многопоточная прога. Она когда закрывается каждый раз в разном месте крашится
Micktu 😬
мхех тру стори
Micktu 😬
но это очень просто решается
Nikita
это должно крашнуться
Если бы, если бы
Deleted Account
У меня тут есть многопоточная прога. Она когда закрывается каждый раз в разном месте крашится
я зделал субсистем менеджер, который при закрытии всем тредам рассылает сигнал остановки
rostislav
Я искал искал так ин не понял в чем дело
Micktu 😬
и да, ставишь флаг остановки и ждешь
Крылатый
ПОтоки джинить нужно.
Nikita
Потом не крашнется, память испортит, и будешь как дурак баги искать
Крылатый
Может, стоило заюзать трэд пул?
Micktu 😬
Потом не крашнется, память испортит, и будешь как дурак баги искать
это теоретически, конкретно есть места где не может быть багов, можно только упасть
Micktu 😬
приведенная Анатолием претензия ровно из этого разряда
Micktu 😬
там нечему выживать, если оно упадет - оно упадет с сегфолтом
Micktu 😬
конкретно этот фрагмент
Nikita
это теоретически, конкретно есть места где не может быть багов, можно только упасть
В теории есть теоретическое поведение, на практике никаких гарантий нет
Deleted Account
там нечему выживать, если оно упадет - оно упадет с сегфолтом
блин чот дико как то, я привык что всегда можно выжыть
Deleted Account
ваще всегда
Micktu 😬
можно!
Micktu 😬
но не стоит времени!
Micktu 😬
в этом мой аргумент
Deleted Account
да наверное
Micktu 😬
в коммерческой разработке
Micktu 😬
если вылизываешь свой юбимый код - совсем другое дело
Micktu 😬
я-то свой любимый код вылижу и даже ловушки расставлю, но без фанатизма
babysitter
оставлять возможность падения в сегфолт в коммерческой разработке? или я из контекста вырвал
rostislav
Там поток передачи по модбас поток отображения картинки поток передающий в разделяемую память..
Micktu 😬
иногда то что должно упасть просто должно упатсть
Nikita
в коммерческой разработке
Это в эджайлах с недельными релизами так, где принято сырое продавать
Micktu 😬
единственное что не должно крашиться - это какой-то риалтайм расчитанный на длительную работу в цикле
Micktu 😬
он может спастись
Micktu 😬
а ваншотным программам зачем это? они ж ничегго не попортят, слава виртуальной памяти
rostislav
И куча какихто таймеров
Micktu 😬
сегфолт в ваншотной программе не имеет значения
Anatoly
просто есть такая вещь как культура программирования: типа не могу я просто так оставить голый указатель, если есть потенциальный выброс исключения
Micktu 😬
ей незачем спасаться
Micktu 😬
максимум, чтобы вывести ошибку
Micktu 😬
но это проще сделать ассертом, если знаешь, в чем будет ошибка
Micktu 😬
это значительноо продуктивнее
Micktu 😬
я не плюсовик, но мне кажется, это из разряда здравого смысла
rostislav
И ошибка в духе вот ассемблерный код пару строк вот тут мы тютю
Micktu 😬
ошибка в духе вот такая строка ассерт фейлд
Micktu 😬
и все понятно сразу
rostislav
Корруптед
Nikita
а ваншотным программам зачем это? они ж ничегго не попортят, слава виртуальной памяти
Не-а. Чуть систему усложнишь, и вылезет в другую память без сигфолта
Micktu 😬
мне просто сложно рассуждать об этом в пределах моего хобби потому что меня оно устраивает "как есть", мне нужен результат, и это не массовый продукт
Micktu 😬
конечно, я бы значительно больше задумывался об этом в реальном проекте
Anatoly
в конечном итоге следование определенной культуре (правилам) ускоряет поиск проблем в не только реальном, но в одноразовом проекте
Nikita
Но рано или поздно вылезет
И будет корраптед бихейвиор вместо падения
Artem
ты пишешь, условно, скрипт на плюсах, и ожидаешь от плюсов того же, чего привык ожидать от скриптовых языков - понятных прогнозируемых падений в исключительных ситуациях
Anatoly
но это все лирика, каждый учится на своих ошибках :D
Artem
Но плюсы так не работают.
Artem
Micktu 😬
и никак иначе...
Nikita
но это все лирика, каждый учится на своих ошибках :D
На своих-то, но такие ошибки могут стоить недели дебага
Micktu 😬
мне сложно рассуджать о культуре плюсов конкретно, пока я не провел с ними хотя бы пару месяцев