История изменений
Исправление
kvpfs,
(текущая версия)
:
https://en.cppreference.com/w/cpp/container/vector/at — Это тоже по-твоему «всё, приехали»?
Т.е. ты хочешь выходить за пределы буфера, потенциально сегфолтить и это по-твоему не всё? Ну включи ASAN, завалишься на подобной попытке при доступе к сишному массиву.
Как ты собрался с таким подходом писать сервер БД? Или какой-нибудь systemd. Или любую другую программу с долгоиграющим состоянием — да хотя бы электронную таблицу. В программе очень много модулей, если ты не будешь в вызовах между ними корректно обрабатывать ошибки, то твоя программа приблизится на практике будет близка к состоянию «полностью неработоспособна». Конечно, не полностью, но разница эта незначительна.
Ты меня не понимаешь. Вот если у меня телефон накроется, то я не буду выпаивать SMD конденсаторы/резисторы и искать битый, я просто другой возьму. Аналогично прилёт исключения откуда-то - этот модуль/systemd/БД - всё, не желец. Тут можно упасть с коркой, выполнить задачу заново, я не намерен выяснять в ран тайме причину и пытаться лечить её. Для остального есть коды возврата.
Исходная версия
kvpfs,
:
https://en.cppreference.com/w/cpp/container/vector/at — Это тоже по-твоему «всё, приехали»?
Т.е. ты хочешь выходить за пределы буфера, потенциально сегфолтить и это по-твоему не всё? Ну включи ASAN, завалишь на подобной попытке при доступе к сишному массиву.
Как ты собрался с таким подходом писать сервер БД? Или какой-нибудь systemd. Или любую другую программу с долгоиграющим состоянием — да хотя бы электронную таблицу. В программе очень много модулей, если ты не будешь в вызовах между ними корректно обрабатывать ошибки, то твоя программа приблизится на практике будет близка к состоянию «полностью неработоспособна». Конечно, не полностью, но разница эта незначительна.
Ты меня не понимаешь. Вот если у меня телефон накроется, то я не буду выпаивать SMD конденсаторы/резисторы и искать битый, я просто другой возьму. Аналогично прилёт исключения откуда-то - этот модуль/systemd/БД - всё, не желец. Тут можно упасть с коркой, выполнить задачу заново, я не намерен выяснять в ран тайме причину и пытаться лечить её. Для остального есть коды возврата.