

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 异常处理
<a name="actions-exception-handling"></a>

异常处理允许您管理自动化中的错误和意外情况。Amazon Quick Automate 提供了适当创建、引发和处理异常的功能，以确保强大的错误管理和流程的连续性。

## 例外情况的类型
<a name="types-of-exceptions"></a>

Amazon Quick Automate 支持两种类型的例外情况：
+ 业务异常-用于因违反业务规则而导致的预期错误，例如：
  + 缺少必需的数据
  + 输入值无效
  + 违反政策
+ 系统异常-用于技术或基础设施错误，例如：
  + 连接失败
  + 服务超时
  + 身份验证错误

## 操作
<a name="exception-actions"></a>

引发异常  
中断进程流，但出现异常。用于触发或抛出异常以结束流程或采取特定操作来处理异常场景。如果您不想立即结束该流程，请在 “处理” 步骤中添加异常流程以处理异常。属性：  
+ **标题**（可选）-流程可视化中显示的操作名称（例如，“引发验证错误”）
+ **创建自定义例外**（必填）-如果选中此选项，则使用自定义详细信息创建新的例外。禁用时，引发或重新引发存储在变量中的现有异常
+ **异常类型**（必填）-异常的类别（例如，“业务异常”、“系统异常”）
+ **异常原因**（必填）-用于对报告的类似异常进行分类的简短标识符（例如，“REQUIRED\$1FIELD\$1MISSING”、“INVALID\$1FORMAT”）
+ **异常消息**（必填）-有助于排除故障的详细描述（例如，“客户电子邮件为必填但未提供”）
+ **要引发的异常**（禁用 “创建自定义异常” 时需要）-要引发或重新引发的异常，通常存储为变量（例如，new\$1exception）

创建自定义异常  
在不引发异常的情况下创建异常。用于准备异常变量，可在后续步骤中稍后引发该变量。属性：  
+ **标题**（可选）-流程可视化中显示的操作名称（例如，“创建验证异常”）
+ **异常类型**（必填）-异常的类别（例如，“业务异常”、“系统异常”）
+ **异常原因**（必填）-用于对报告的类似异常进行分类的简短标识符（例如，“REQUIRED\$1FIELD\$1MISSING”）
+ **异常消息**（必填）-有助于排除故障的详细描述（例如，“客户电子邮件为必填但未提供”）
+ **错误代码**（可选）-用于区分不同类型错误的数字代码（例如，404 表示未找到，503 表示服务不可用）
+ **由于**（可选）-引用触发此异常的另一个异常，通常存储为变量（例如，original\$1exception）
+ **新异常**（输出）-用于存储新创建的异常的变量（例如，new\$1exception）

异常流程  
定义如何处理流程步骤中发生的异常。用于创建在流程中出现异常时要遵循的替代路径。处理异常后，该过程将继续执行下一步操作。如果要结束该过程，请再次引发异常。单击 “处理” 步骤中的 “**异常流程**” 加号按钮，添加异常流程。属性：  
+ **标题**（可选）-流程可视化中显示的操作名称（例如，“处理验证错误”）
+ **异常引用**（必填）-用于引用异常流程中的异常的变量名称。使用变量 ["property"] 访问异常详情，其中属性可以是：类型、原因、消息、代码或 caused\$1by（例如，错误）
异常流只能添加到 “处理” 步骤。否则在 “动作” 面板中找不到它们。

## 处理异常
<a name="working-with-exceptions"></a>

**异常属性**

处理异常时，您可以访问以下属性：
+ 类型-异常的类别（“业务异常” 或 “系统异常”）
+ 原因-异常的简短标识符
+ 消息-错误的详细描述
+ code-数字错误代码（如果提供）
+ caused\$1by-触发此异常的原始异常（如果适用）

**最佳实践**
+ 使用描述性的异常原因便于分类和报告
+ 包括故障排除的详细消息
+ 为临时系统异常实现重试逻辑
+ 考虑对业务异常进行人为干预
+ 在处理异常时考虑对案例状态的影响
+ 确保即使在出现异常（例如重新启动浏览器）后也能执行关键的清理操作
+ 监控异常频率和模式
+ 定期查看异常日志
+ 如果您不想继续执行剩余的步骤，请在处理完异常后重新引发异常