Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (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.
[AP_SWS_SHWA_00501] текст ещё не импортированUpstream: RS_SHWA_00008
class ErrorHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Служит для сбора и перенаправления ошибок в модуле shwa в специфическую процедуру обработки приложения.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d10c8775782fПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит для сбора и перенаправления ошибок в модуле shwa в специфическую процедуру обработки приложения.
Класс служит для централизованного приема и перенаправления ошибок внутри модуля shwa. Экземпляры могут создаваться исключительно через статический фабричный метод, предоставляющий объект в монопольном указателе [AP_SWS_SHWA_00507]. Через метод обработки ошибок передаются и обрабатываются специфические коды ошибок [AP_SWS_SHWA_00508]. Поскольку обработка ошибок не рассчитана ни на потокобезопасность, ни на безопасность исключений, вызывающее приложение должно координировать параллельный доступ извне.
Контекст
Класс ara::shwa::ErrorHandler предоставляет в модуле shwa (Smart Hardware Actuator) специализированный интерфейс для приема и целенаправленного перенаправления специфических для модуля ошибочных состояний. Являясь составной частью AUTOSAR Adaptive Platform, он отделяет саму логику аппаратного обеспечения и актуаторов от вышестоящих стратегий обработки ошибок. Класс объявлен как final, что исключает наследование и обеспечивает строго определенное поведение при использовании.
Основными партнерами по взаимодействию для ara::shwa::ErrorHandler являются:
Использующее приложение или компонент платформы, который управляет экземпляром и инициирует метод обработки в случае ошибки.
Зарегистрированный при создании обратный вызов std::function<void(ara::core::ErrorCode)>, выполняющий фактическую реакцию обработки на уровне приложения.
Специфический для модуля домен ошибок, представленный типом ara::shwa::ShwaErrorCode.
Жизненный цикл
Жизненный цикл экземпляра ara::shwa::ErrorHandler подчиняется строгим ограничениям в отношении создания, копируемости и владения памятью. Штатное конструирование через конструкторы по умолчанию исключено, поскольку конструктор без параметров удален [AP_SWS_SHWA_00502]. Чтобы обеспечить однозначную идентичность и четкие зоны ответственности, определение класса запрещает любые операции копирования и перемещения:
Единственную возможность инстанцирования предоставляет статический фабричный метод Create[AP_SWS_SHWA_00507]. Он принимает функциональный объект std::function<void(ara::core::ErrorCode)> и возвращает результат в виде ara::core::Result<std::unique_ptr<ErrorHandler>>. Благодаря std::unique_ptr монопольное владение объектом передается вызывающей стороне. Тем самым время жизни экземпляра напрямую привязано ко времени жизни умного указателя; при его уничтожении освобождается и ErrorHandler.
Что касается параллелизма, метод создания Create специфицирован как потокобезопасный (thread-safe) и безопасный относительно исключений (exception safe) [AP_SWS_SHWA_00507]. Метод оперативной обработки ошибок HandleError, напротив, не специфицирован ни как потокобезопасный, ни как безопасный относительно исключений [AP_SWS_SHWA_00508]. Конкурентный доступ к одному и тому же экземпляру, следовательно, должен координироваться на уровне приложения.
Путь использования
Типичный порядок действий при использовании ara::shwa::ErrorHandler включает инициализацию через фабрику и последующую обработку ошибок:
Определение обратного вызова: приложение определяет процедуру обработки с сигнатурой void(ara::core::ErrorCode).
Создание: приложение вызывает статический метод Create и передает функцию обратного вызова [AP_SWS_SHWA_00507]. После проверки ara::core::Result приложение принимает владение std::unique_ptr<ErrorHandler>.
Сигнализация об ошибке: если во время работы возникает ошибка, у экземпляра вызывается метод HandleError с соответствующим ara::shwa::ShwaErrorCode[AP_SWS_SHWA_00508].
Перенаправление: экземпляр обрабатывает событие ошибки; при этом специфический для модуля код ошибки, по-видимому, внутренне преобразуется в ara::core::ErrorCode и передается зарегистрированной функции обратного вызова (интерпретация). Вопрос Q-4101388d317e1f5b (открытый)
При использовании класса необходимо учитывать важные граничные условия и особые случаи:
Сбой создания объекта: спецификация не указывает стандартизированных кодов ошибок для фабричного метода Create[AP_SWS_SHWA_00507]. Тем не менее метод возвращает ara::core::Result, так что любые ошибочные условия (например, нехватка памяти), вероятно, передаются через этот результирующий объект (интерпретация). Вопрос Q-85c2140acfda8244 (открытый) Поэтому вызывающие стороны должны проверять Result перед обращением к указателю.
Предусловия для обработки ошибок: вызов HandleError предполагает наличие работоспособного экземпляра и валидного ara::shwa::ShwaErrorCode[AP_SWS_SHWA_00508]. Поскольку метод не возвращает значения, ошибки в ходе обработки не могут быть напрямую сообщены вызывающей стороне в виде кода состояния.
Отсутствие безопасности исключений и потокобезопасности: поскольку HandleError объявлен как not thread-safe и not exception safe[AP_SWS_SHWA_00508], вызывающее окружение должно гарантировать, что вызовы выполняются последовательно и внутри обработки ошибок не распространяются необработанные исключения.
Это руководство по классу основано на спецификации AUTOSAR для Adaptive Platform (релиз R25-11) и было создано автоматически.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал