Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
class RdsException : public ara::core::Exception {...};
Exception type for Raw Data Stream.
Header-Datei
#include "ara/rds/rds_error_domain.h"
Scope
namespace ara::rds
Руководство пользователяСОЗДАНО ИИ
Служит доменно-специфичным типом исключения для обработки ошибок при операциях над Raw Data Stream.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b9745284d7f2ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит доменно-специфичным типом исключения для обработки ошибок при операциях над Raw Data Stream.
Класс ara::rds::RdsException представляет специализированный тип исключения для модуля Raw Data Stream и служит для передачи ошибок на основе ara::core::ErrorCode[SWS_RDS_11292]. Инстанцирование обычно происходит в рамках обработки ошибок с помощью ThrowAsException, что вызывает структурированное прерывание ошибочного процесса [SWS_RDS_11297]. Благодаря конструктору, объявленному как noexcept, гарантируется, что при создании исключения во время выполнения не возникнет вторичных ошибок. Вызывающий прикладной код должен перехватывать исключение во избежание аварийного завершения программы.
Контекст
Класс ara::rds::RdsException функционирует в контексте AUTOSAR Adaptive как выделенный тип исключения для Raw Data Stream (rds), как указано в SWS RawDataStream §1 «Raw Data Stream». Он наследуется напрямую от общего базового класса ara::core::Exception и органично интегрирует модель ошибок модуля в обработку исключений платформы. Внутри пространства имен RDS этот тип предоставляется через псевдоним типа Exception[SWS_RDS_11327], что обеспечивает пользователям и компонентам модуля единообразную и упрощенную номенклатуру. В качестве основных партнеров по взаимодействию выступают домены ошибок, такие как домен, объявленный в ara/rds/rds_error_domain.h, а также прикладной код, обрабатывающий ошибки через исключения [SWS_RDS_11292].
Жизненный цикл
Экземпляры ara::rds::RdsException создаются по мере необходимости, как только возникшее ошибочное событие вынуждает прервать штатный поток управления. Инстанцирование выполняется через явный конструктор, принимающий объект ara::core::ErrorCode[SWS_RDS_11292]. Этот конструктор объявлен как noexcept, благодаря чему гарантируется, что создание объекта само по себе ни при каких обстоятельствах не завершится сбоем и не сгенерирует повторное исключение. Объект исключения подчиняется обычной семантике значений C++: при генерации он передается в память исключений среды выполнения. Как принято для типов исключений в ara::core, момент уничтожения, вероятно, привязан к выходу из соответствующего блока catch, как только ссылка на объект исключения перестает действовать. Вопрос Q-5673ede6a9688b85 (открытый) В средах параллельного выполнения класс ведет себя потокобезопасно, поскольку каждая ошибочная ситуация инстанцируется и распространяется изолированно на уровне локального потока.
Путь использования
Типовой путь использования включает обнаружение ошибочного состояния в работе потока, преобразование кода ошибки в исключение и последующий перехват в прикладном коде. Если во время операции возникает ошибка, она изначально представляется как ara::core::ErrorCode. Вместо ручного опроса генерация исключения может быть инициирована методом ThrowAsException, инкапсулирующим преобразование и процесс генерации [SWS_RDS_11297]. Интерпретация: вызов ThrowAsException, вероятно, внутренне делегирует напрямую конструктору RdsException и выбрасывает вновь созданный экземпляр с помощью throw[SWS_RDS_11292]. Вопрос Q-d8734426a5c71e07 (открытый) Вызывающий код перехватывает исключение через конкретный тип ara::rds::RdsException, псевдоним ara::rds::Exception[SWS_RDS_11327] или полиморфно через ara::core::Exception.
Диаграмма последовательности: взаимодействие при возникновении и перехвате исключения RDS через ErrorCode. Источники: [SWS_RDS_11292], [SWS_RDS_11297].
Сценарии ошибок
Сценарии сбоев, связанные с ara::rds::RdsException, в первую очередь касаются согласованности распространения ошибок и предотвращения необработанных аварийных остановок программы. Операция возбуждения исключения ThrowAsException явно определена как noexcept(false)[SWS_RDS_11297], поскольку выброс исключения представляет собой ожидаемое поведение в случае ошибок. Критический сценарий сбоя возникает, когда вызывающий код игнорирует потенциальное прерывание потока управления и не предоставляет подходящий обработчик исключений; неполная обработка приводит к немедленному аварийному завершению процесса через std::terminate. Однако гарантия noexcept конструктора [SWS_RDS_11292] гарантирует, что при формировании самого исключения не возникнет вложенная ошибка инициализации.
Настоящее руководство основано на требованиях спецификации AUTOSAR для Raw Data Stream (R25-11).
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал