Исследование производительности различных способов обработки ошибок в C++

Бесплатный доступ

В данном исследовании оценивается эффективность разных способов обработок ошибок: броски исключений, использование std::expected и error code’ов. Были произведены замеры производительности в разных сценариях, при одиночных и последовательных вызовах функций и прерывании цикла после получения ошибки. По результатам измерений и анализа удобства и преимуществ разных подходов был сделан вывод, что исключения разумнее использовать при редких ошибках и/или обработке их далеко от места появления, а коды возврата в противоположных случаях.

Исключения, обработка ошибок, производительность, с++, коды ошибок

Короткий адрес: https://sciup.org/170212293

IDR: 170212293   |   DOI: 10.24412/2500-1000-2025-11-1-155-160

Investigating the performance of various error handling methods in C++

This study evaluates the effectiveness of different error handling approaches: throwing exceptions, using std::expected, and error codes. Performance measurements were taken in various scenarios, including single and sequential function calls and loop termination after an error. Based on the measurements and analysis of the usability and advantages of the various approaches, it was concluded that exceptions are more appropriate for rare errors and/or handling them remotely from their source, while return codes are more appropriate for the opposite scenario.