C ++ подход к обработке коллекции нескольких исключений?

В C ++ 17, каков правильный шаблон / подход к обработке коллекции множественных исключений?

Есть ли C ++ эквивалент C # AggregateException Class?

(Я знаю, что исключение, поскольку управление потоком данных является анти-паттерном.)

0

Решение

Это не обычная проблема, которую я вижу в C ++. Если вы планируете использовать библиотеку для многопоточной / многоядерной обработки, вы, возможно, не захотите проверить, что предлагает эта библиотека или как обрабатываются исключения. Если вам просто нужны такие возможности, вы можете сделать что-то вроде следующего (псевдокод):

struct AggregateExcpetions {
std::vector< std::variant< exception_type_1, exception_type_2, exception_type_3 > > m_exceptions;
}

Вместо использования варианта может быть проще использовать общий базовый класс — например, std::exception или возможно std::runtime_error,

struct AggregateExcpetions {
std::vector< std::unique_ptr<std::exception> > m_exceptions;
}
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector