В C ++ уже есть достаточно стратегий обработки ошибок. У нас есть обработка исключений, коды ошибок и это ERRNO
беспорядок. Какую роль играет system_error
Заголовок играть здесь? Как я могу использовать функции там? Для меня это выглядит случайным образом. Я использую cppreference сайт в качестве ссылки.
Вы можете throw
а также catch
это как нормальное исключение. Это просто часть std::exception
иерархия. std::system_error
продолжается std::runtime_error
который расширяется std::exception
Когда его следует использовать? Обычно он используется для преобразования ошибок ERRNO в стиле C в&обработка перехвата с инкапсулированным кодом ошибки внутри объекта. Это интенсивно используется самой стандартной библиотекой, особенно в новых библиотеках, работающих со специфическими для ОС материалами, например в <thread>
библиотека.
Других решений пока нет …