170 похожих чатов

Народ, есть коллбек, и в нем нужно как-то обрабатывать ошибки,

вопрос вот в чем:
лучше сделать template<typename ErrorHandler> class A;
или
class A{ A(const std::function<void(error_t)>&); };?
я так понимаю, что если сделать шаблонный обработчик, то про PCH можно забыть, а от std::function страдает рантайм, хотя если класс упал с ошибкой, это уже не сильно-то и важно...
кто как решает эту проблему?
пс: под капотом буст, который компилируется 10-15 секунд

4 ответов

13 просмотров

void(result&, error&) у меня как то так обычно получается... Можно конечно разделять, но тогда нужно два callback и возрастает стоимость их инициализации (и хранения). А так if(unlikely error) handle... return.

Dmitry Sokolov
void(result&, error&) у меня как то так обычно пол...

заворачивай в аналог expected и тащи разными ветками :)

Constantine Drozdov
заворачивай в аналог expected и тащи разными ветка...

На самом деле чаще я экономлю на аллокациях и запрос это и request и response и optional error и callback в одном лице :) там разве что уже в интерфейсах развлекаться заворачивая callback в callback.

Dmitry Sokolov
На самом деле чаще я экономлю на аллокациях и запр...

if(!req.response) /* deal with generic errors */ else if(!ok (req.response.status)) /* deal with server error */ else /* ok */ ...

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта