Как мне использовать `std :: error_category` и другие вещи, которые есть в заголовке system_error?

В C ++ уже есть достаточно стратегий обработки ошибок. У нас есть обработка исключений, коды ошибок и это ERRNO беспорядок. Какую роль играет system_error Заголовок играть здесь? Как я могу использовать функции там? Для меня это выглядит случайным образом. Я использую cppreference сайт в качестве ссылки.

3

Решение

Вы можете throw а также catch это как нормальное исключение. Это просто часть std::exception иерархия. std::system_error продолжается std::runtime_error который расширяется std::exception

Когда его следует использовать? Обычно он используется для преобразования ошибок ERRNO в стиле C в&обработка перехвата с инкапсулированным кодом ошибки внутри объекта. Это интенсивно используется самой стандартной библиотекой, особенно в новых библиотеках, работающих со специфическими для ОС материалами, например в <thread> библиотека.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]