

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

# AWS Flow Framework 对于 Java 异常
<a name="errorhandling.exceptions"></a>

在 Java 中使用 AWS Flow Framework 了以下异常。本章提供异常的概述。有关更多详细信息，请参阅各个异常的 适用于 Java 的 AWS SDK 文档。

**Topics**
+ [ActivityFailureException](#errorhandling.exceptions.ActivityFailureException)
+ [ActivityTaskException](#errorhandling.exceptions.ActivityTaskException)
+ [ActivityTaskFailedException](#errorhandling.exceptions.ActivityTaskFailedException)
+ [ActivityTaskTimedOutException](#errorhandling.exceptions.ActivityTaskTimedOutException)
+ [ChildWorkflowException](#errorhandling.exceptions.ChildWorkflowException)
+ [ChildWorkflowFailedException](#errorhandling.exceptions.ChildWorkflowFailedException)
+ [ChildWorkflowTerminatedException](#errorhandling.exceptions.ChildWorkflowTerminatedException)
+ [ChildWorkflowTimedOutException](#errorhandling.exceptions.ChildWorkflowTimedOutException)
+ [DataConverterException](#errorhandling.exceptions.DataConverterException)
+ [DecisionException](#errorhandling.exceptions.DecisionException)
+ [ScheduleActivityTaskFailedException](#errorhandling.exceptions.ScheduleActivityTaskFailedException)
+ [SignalExternalWorkflowException](#errorhandling.exceptions.SignalExternalWorkflowException)
+ [StartChildWorkflowFailedException](#errorhandling.exceptions.StartChildWorkflowFailedException)
+ [StartTimerFailedException](#errorhandling.exceptions.StartTimerFailedException)
+ [TimerException](#errorhandling.exceptions.TimerException)
+ [WorkflowException](#errorhandling.exceptions.WorkflowException)

## ActivityFailureException
<a name="errorhandling.exceptions.ActivityFailureException"></a>

框架在内部使用此异常来沟通活动故障。当活动因未处理的异常而失败时，它将被封装在 `ActivityFailureException` 中并报告给 Amazon SWF。仅当您使用活动工作线程扩展性点时，才需要处理此异常。您的应用程序代码将从来不需要处理此异常。

## ActivityTaskException
<a name="errorhandling.exceptions.ActivityTaskException"></a>

这是用于以下活动任务失败异常的基类：`ScheduleActivityTaskFailedException`、`ActivityTaskFailedException`、`ActivityTaskTimedoutException`。它包含失败任务的任务 ID 和活动类型。您可以在工作流实现中捕获此异常，以常规方式处理活动故障。

## ActivityTaskFailedException
<a name="errorhandling.exceptions.ActivityTaskFailedException"></a>

在活动中未处理的异常将通过引发 `ActivityTaskFailedException` 报告回工作流实现。原始异常可从此异常的原因属性中检索。此异常还可提供对调试有用的其他信息，如历史记录中的唯一活动标识符。

架构可以通过从活动工作线程中序列化原始异常来提供远程异常。

## ActivityTaskTimedOutException
<a name="errorhandling.exceptions.ActivityTaskTimedOutException"></a>

如果活动超时，Amazon SWF 会引发此异常。如果活动任务无法在要求的时间段内分配给工作线程或在要求时间内无法由工作线程完成，则会出现此异常。您可以在调用活动方法时使用 `@ActivityRegistrationOptions` 注释或使用 `ActivitySchedulingOptions` 参数来为活动设置这些超时。

## ChildWorkflowException
<a name="errorhandling.exceptions.ChildWorkflowException"></a>

用于报告子工作流执行故障的异常的基类。该异常包含子工作流执行的 ID 及其工作流类型。您可以捕获此异常，以常规方式处理子工作流执行故障。

## ChildWorkflowFailedException
<a name="errorhandling.exceptions.ChildWorkflowFailedException"></a>

子工作流中未处理的异常将通过引发 `ChildWorkflowFailedException` 报告回父工作流实现。原始异常可从此异常的 `cause` 属性中检索。该异常还可提供对调试有用的其他信息，如子执行的唯一标识符。

## ChildWorkflowTerminatedException
<a name="errorhandling.exceptions.ChildWorkflowTerminatedException"></a>

此异常在父工作流执行中引发，以报告子工作流执行的终止。如果要处理子工作流的终止，例如执行清除或补偿，则应捕获此异常。

## ChildWorkflowTimedOutException
<a name="errorhandling.exceptions.ChildWorkflowTimedOutException"></a>

此异常在父工作流执行中引发，用于报告子工作流执行超时并被由 Amazon SWF 关闭。如果要处理子工作流的强制关闭，例如执行清除或补偿，则应捕获此异常。

## DataConverterException
<a name="errorhandling.exceptions.DataConverterException"></a>

架构使用 `DataConverter` 组件来封送和拆收通过线路发送的数据。如果 `DataConverter` 无法封送或拆收数据，将引发此异常。可能由于各种原因而出现这种情况，例如，因为用于封送和拆收数据的 `DataConverter` 组件中存在不匹配。

## DecisionException
<a name="errorhandling.exceptions.DecisionException"></a>

这一异常基类表示 Amazon SWF 执行决策失败。您可以捕获此异常，以常规方式处理此类异常。

## ScheduleActivityTaskFailedException
<a name="errorhandling.exceptions.ScheduleActivityTaskFailedException"></a>

如果 Amazon SWF 未能安排活动任务，将引发此异常。出现这种情况可能有多种原因，例如，活动被弃用，或您的账户已达到 Amazon SWF 的限制。异常中的 `failureCause` 属性指明了计划活动失败的确切原因。

## SignalExternalWorkflowException
<a name="errorhandling.exceptions.SignalExternalWorkflowException"></a>

如果 Amazon SWF 无法处理某工作流执行向其他工作流执行发出的请求，将引发此异常。如果找不到目标工作流执行，也就是说，您指定的工作流执行不存在或处于关闭状态，将出现这种情况。

## StartChildWorkflowFailedException
<a name="errorhandling.exceptions.StartChildWorkflowFailedException"></a>

如果 Amazon SWF 未能启动子工作流执行，将引发此异常。出现这种情况可能有多种原因，例如，指定的子工作流类型被弃用或您的账户已达到 Amazon SWF 的限制。异常中的 `failureCause` 属性指明无法启动子工作流执行的确切原因。

## StartTimerFailedException
<a name="errorhandling.exceptions.StartTimerFailedException"></a>

如果 Amazon SWF 未能启动工作流执行请求的计时器，将引发此异常。如果指定计时器 ID 已在使用中或您的账户已达到 Amazon SWF 的限制，就可能会出现此情况。异常中的 `failureCause` 属性指明了故障的确切原因。

## TimerException
<a name="errorhandling.exceptions.TimerException"></a>

这是与计时器相关的异常的基类。

## WorkflowException
<a name="errorhandling.exceptions.WorkflowException"></a>

框架在内部使用此异常来报告工作流执行中的故障。仅当您使用工作流工作线程扩展性点时，才需要处理此异常。