Evgenii
?
Ioann_
Так ты бросаешь эксепшон в деструкторе ? И получается, что при его бросании может вылезти еще один ?
🦥Alex Fails
?
Да
🦥Alex Fails
Завтра обновлю
🦥Alex Fails
/cppref current_exception
FailsBot
http://en.cppreference.com/w/cpp/error/current_exception
Evgenii
ок, кинь линк
Dmitry
Как можно проверить указывают ли указатели T const * q и T const *p на один и тот же объект с помощью dynamic_cast?
🦥Alex Fails
Без него можно сравнением
Dmitry
Там предполагается объект "некоторого сложного полиморфного класса"..
Ioann_
Расскажи плис что именно бросает эксепшн ?
Ioann_
Как именно ты его получаешь ? Минимальный кусок кода ?
Anatoly
посмотри https://github.com/zxing/zxing , посмотри доступные порты на С++
Ioann_
Во первых при бросании исключения деструктором могут происходить утечки памяти. Во-вторых, вроде как программа должна аварийно завершиться ?
Ioann_
Ну, точнее, почему не обработать исключение в деструкторе ?
Anatoly
последняя версия датирована 2009-10-27
🦥Alex Fails
Хочу парсить говно одно со скринов
Billy
https://www.infoq.com/news/2017/10/cpp-17-herb-sutter-interview
Billy
хотя может и боян уже )
Constantine
Вот поэтому я не люблю исключения. Если запись в файл была критичной, её все равно перепроверят чтением с проверкой хеша. В чем смысл бросать ошибки записи в файл как исключение?
🦥Alex Fails
чем вам вариант с листнереом исключений не понравился)
Berkus
это не то как используются исключения
Berkus
Костыльненько
нет, не костыльненько, буст так делает, джава так делает, в бусте даже специальный враппер для исключений есть чтобы туда напихивать
Berkus
что, я привел в пример лидеров индустрии!
Billy
Они тоже могут ошибаться же. Если никто не нашел иного пути, это ж не значит, что это НЕ «костыльненько»
Berkus
ну есть нормальный путь - отказаться от исключений, использовать Result и композить его, ссылочка вот вчера была https://github.com/TartanLlama/optional
Billy
Никак
Berkus
я тебе сказал - ошибки файлового В/В это не исключительные ситуации вообще
Billy
Какой?
🦥Alex Fails
0
Alexander
0xdeadbeef?
Berkus
А какой у них сигнал если место на диске кончилось?
Billy
Ну так в базе ж целостность данных важнее. Такой выбор имеет смысл
Alexander
хз что значит "обычно". например postgres и mongo вообще ортоганальны друг другу в этом вопросе
Billy
Согласен. Да
Alexander
чем Вам postgres или монго не субд?
Alexander
кстати по сабжу - монго на крестах сделаан, можете посмотреть как она работает с диском, а именно как wiredtiger это делает
Alexander
да че толку от демагогии, и та и другая система должна обеспечить надежность, не допускать порчи данных даже если процесс в кору падает
Alexander
ага - реалиционная, ну а монго документ-ориентированная
Alexander
слушай бро, я понимаю что тебе лень даже вики читать, но вот глянь пожаллуйста прежде чем писать ерунду https://ru.wikipedia.org/wiki/MongoDB
Alexander
Alexander
эмм.. лан, вобщем
🦥Alex Fails
а почему ты так считаешь?
☕️
https://www.mongodb.com/what-is-mongodb
Крылатый
Да чо нет-то.
Billy
+++!
Maksim
Прошу прощения за оффтоп, но здесь есть тот, кто ведёт канал "C++ with some vodka, banya and bears"?
🦥Alex Fails
ок XD
Billy
Воу воу;) полегше
Billy
Ты даже не начал объяснять
Maksim
да, конешно
Спасибо.
Deleted Account
Спасибо.
но это не точно
Berkus
ну да ну да
🦥Alex Fails
еееее!!👍🎉
Sergey
везде где есть слова баня и C++ скорее всего есть @sermp
🦥Alex Fails
а по вопросу с монгой - думаю, тут просто дело в терминологии и в том, что СУБД != БД
🦥Alex Fails
ладно, го в pro.programming (https://t.me/joinchat/BYlFbEMQENWOLeKl18xaRA), там попиздим на эту тему
🦥Alex Fails
ну, так это моим словам не противоречит
Alexander
храненим данных в монго занимается wiredtiger - это если хотите и есть БД. А Mongo это СУБД которая и занимается facility / utility слоем, масштабированием и другими вопросами обслуживания хранилища.
🐙 Antony
Я вполне согласен с ситуацией, просто намекаю, что обычно всем пофиг и забивают на первое исключение
С исключениями проблема в том, что нет единого хорошего решения, которое устраивало бы всех. * Забывать первое исключени и продолжать со вторым - очень плохая идея, так как первое исключени зачастую важнее, и терять его не хочется * Кидать только последнее исключение - та же беда, возможно что в ВАШЕМ пректе/библиотеке последующие исключения важнее Есть механизм nested exceptions http://en.cppreference.com/w/cpp/error/nested_exception , его можно использовать чтобы схранять все исключения и таки кидать их из деструкторов. nested exceptions + std::terminate - пока что устраивает большее количество народа
Berkus
Точно, я забыл про nested_exception
это как раз то что имплементировано в бусте
Berkus
потом переехало в стандарт
🐙 Antony
спасибо, Антон! первый раз в глаза вижу std::throw_with_nested
правда оно работает только в catch блоке, так что не супер-пупер полезная вещь. В деструкторах фиг измернёшься, чтобы к текущему исключени докинуть имеющееся
🦥Alex Fails
потом переехало в стандарт
Кста, кинь ту хреньЮ что ты поймал при сборке буста
Berkus
и еще одну нашел, она только в слаке запощена
Berkus
но Димов мне предложил запостить их в ишьюс проектов, на что я резонно заметил что на гитхабе у этих проектов ишьюс ОТКЛЮЧЕНЫ к хуям. дальше пока ничего не произошло
🐙 Antony
но Димов мне предложил запостить их в ишьюс проектов, на что я резонно заметил что на гитхабе у этих проектов ишьюс ОТКЛЮЧЕНЫ к хуям. дальше пока ничего не произошло
Вот тут тогда надо заводить https://svn.boost.org/trac10/newticket и выставить Component == container Только в начале стоит хоть немного зарегаться, чтобы с вами могли связаться и задать вопросы
Berkus
спасибо, не знал что они трак обновили
Berkus
а, а зарегистрироваться конечно же никак