tgoop.com/cpp_lib/2068
Last Update:
Асинхронная обработка ошибок – это сложно
Или как я научился не беспокоиться из-за cudaGetLastError() и просто признал её нежелательной
Любому, кто сталкивался с проектированием API, приходилось мучиться над вопросом, как лучше всего распространять ошибки к вызывателям функций. Эта проблема появилась ещё раньше, чем термин «API». Даже несколько десятилетий назад (скажем, 30+) проектировщики интерфейсов умели отделять возвращаемые ошибки от прочей полезной нагрузки в рамках тех функций, которые доставляют эту информацию вызвавшему их узлу.
Иногда полезно знать, как лучше не делать. Мой любимый пример антипаттерна в рассматриваемой области — прославленная функция atoi() из среды выполнения C, которая преобразует строку в целое число:
int atoi (const char * str);
https://parallelprogrammer.substack.com/p/asynchronous-error-handling-is-hard
#cpp #programming
👉 @cpp_lib
BY Библиотека C/C++ разработчика
Share with your friend now:
tgoop.com/cpp_lib/2068
