Evgenii
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
чем вам вариант с листнереом исключений не понравился)
Ioann_
Berkus
это не то как используются исключения
Berkus
Костыльненько
нет, не костыльненько, буст так делает, джава так делает, в бусте даже специальный враппер для исключений есть чтобы туда напихивать
Berkus
Billy
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
Deleted Account
Billy
Воу воу;) полегше
Billy
Ты даже не начал объяснять
Maksim
Deleted Account
🦥Alex Fails
Berkus
ну да ну да
Sergey
🦥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 - пока что устраивает большее количество народа
Anatoly
🦥Alex Fails
Berkus
потом переехало в стандарт
Berkus
и еще одну нашел, она только в слаке запощена
Berkus
но Димов мне предложил запостить их в ишьюс проектов, на что я резонно заметил что на гитхабе у этих проектов ишьюс ОТКЛЮЧЕНЫ к хуям. дальше пока ничего не произошло
🦥Alex Fails
Berkus
спасибо, не знал что они трак обновили
Berkus
а, а зарегистрироваться конечно же никак