DEENESPTFRRUARHIKOZHNL

类 ara::fw::FwException

Diese Seite wurde vollständig KI-generiert auf Basis von SWS Firewall (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_Fw_83004] 原文尚未导入 · Header ara/fw/fw_error_domain.h

class FwException : public ara::core::Exception {...};

Exception type for the firewall API.

Header-Datei#include "ara/fw/fw_error_domain.h"
Scopenamespace ara::fw

用户指南人工智能生成

将 Firewall API 的错误代码封装为异常,用于在 Adaptive 应用程序中进行线程安全的错误指示。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 8e52ff5e20c1 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

将 Firewall API 的错误代码封装为异常,用于在 Adaptive 应用程序中进行线程安全的错误指示。

类 ara::fw::FwException 代表 AUTOSAR Adaptive Platform 的 Firewall API 的专用 C++ 异常类型,并继承自 ara::core::Exception。它用于封装和传递 ara::core::ErrorCode,以便将严重的错误状态传输给调用组件 [AP_SWS_Fw_83005]。实例化通过头文件 ara/fw/fw_error_domain.h 使用声明为 noexcept 的显式构造函数执行 [AP_SWS_Fw_83005]。作为核心边界条件,该类保证线程安全的构造,从而即使在并发执行上下文中也能可靠地指示错误。

上下文

类 ara::fw::FwException 代表 AUTOSAR Adaptive Platform 的防火墙接口(Firewall API)的专用 C++ 异常类型。根据其接口定义,它公有继承自基类 ara::core::Exception。在模块 fw 的架构内,它用于将执行期间出现的错误情况封装为异常形式,并跨越调用边界向上层功能层传播。该类及其构造函数通过头文件 ara/fw/fw_error_domain.h 声明 [AP_SWS_Fw_83005]。类型 ara::core::ErrorCode 用作核心交互方,它映射了防火墙的具体错误上下文和错误域。

生命周期

ara::fw::FwException 实例的生命周期始于通过向构造函数 [AP_SWS_Fw_83005] 传递 ara::core::ErrorCode 对象进行显式初始化。由于构造函数被声明为 explicit,因此阻止了从错误代码进行的隐式类型转换 [AP_SWS_Fw_83005]。通过使用 noexcept 标记,保证了异常对象本身的创建在任何时候都不会失败,也不会触发次级异常 [AP_SWS_Fw_83005]。此外,标准明确规定构造为线程安全(thread-safe)[AP_SWS_Fw_83005],因此在 Adaptive 应用程序的并发执行上下文中也可以创建异常实例,而无需额外的同步。在捕获异常后,根据 C++ 标准规则,在相应处理块的末尾自动销毁对象。

使用路径

典型使用路径描述了识别 Firewall API 内部的错误、封装原因以及随后在用户级别进行处理的过程。由于 Adaptive AUTOSAR 主要依靠通过结果对象进行基于值的错误处理,因此 ara::fw::FwException 大概主要在存在严重异常情况或基于异常调用 API 时被抛出。 问题 Q-4a8d1c1d5359c469 (未决)

使用 FwException 进行异常处理的流程应用Firewall-APIara::fw::FwExceptionAufruf Firewall-OperationErkennung FehlerzustandErzeugung ara::core::ErrorCodeFwException(errorCode) [AP_SWS_Fw_83005]Instanz erzeugtthrow FwExceptioncatch (FwException const&)Auswertung ErrorCode

时序图:使用 FwException 进行错误处理和异常处理的典型流程。来源:[AP_SWS_Fw_83005] AP_SWS_Fw_83005

典型流程分为以下步骤:

  • 错误识别:Firewall API 的某项服务识别出无效操作并生成相应的 ara::core::ErrorCode 对象。
  • 创建异常:通过构造函数 [AP_SWS_Fw_83005],使用该错误代码以线程安全的方式实例化 ara::fw::FwException 的新实例。
  • 触发异常:该异常通过 throw 指示到执行上下文中。
  • 捕获与评估:调用方应用程序捕获 ara::fw::FwException 并读取所包含的错误代码,以进行错误分析或恢复。

错误场景

使用 ara::fw::FwException 时的错误场景主要涉及传入错误数据的逻辑有效性以及缺少适当的异常处理。由于异常类的构造被指定为 noexcept,因此在实例化本身期间不存在内部错误源 [AP_SWS_Fw_83005]。作为先决条件,调用方必须确保传入语义准确的 ara::core::ErrorCode,以充分描述出现的防火墙错误原因 [AP_SWS_Fw_83005]。如果在后续调用栈中没有匹配的处理程序捕获抛出的 ara::fw::FwException,根据标准 C++ 语义,这将不可避免地导致调用 std::terminate,从而导致进程中止。

本指南基于 AUTOSAR Adaptive R25-11 规范。所有陈述均仅基于指定的规范依据。

构造函数和析构函数

Constructs a FwException containing an ErrorCode.

explicit FwException(ara::core::ErrorCode errorCode) noexcept;

方法与类型文档

函数 FwException [AP_SWS_Fw_83005]

explicit FwException(ara::core::ErrorCode errorCode) noexcept;

Constructs a FwException containing an ErrorCode.

Header-Datei#include "ara/fw/fw_error_domain.h"
Scopeclass ara::fw::FwException
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_Fw_83005
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_Fw_83005@rel:R25-11#d0a902d4
Content hash
d0a902d4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Firewall.pdf#nameddest=AP_SWS_Fw_83005
Status: valid/unmigrated Version: rel:R25-11#de1ab769 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_Fw_83005@rel:R25-11#de1ab769
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill