Skip to main content

元素:异常转换

如果发生错误或异常,异常转换将控制切换到下一个状态或伪状态。异常转换具有保护条件和可选的操作。

异常转换会中断当前处理。首先,处理当前活动状态,直到循环结束。然后系统切换到旨在对此异常作出反应的状态。在此状态下,执行错误处理和异常处理。源状态通常是一个复合的正交状态。

_uml_img_exception_transition.png

提示

异常转换用于从任何子状态退出复合状态。其状态被评估为 已执行了活动状态的 DO 动作。即使异常转换的条件为 TRUE 首次进入复合状态时,将执行第一个状态的 DO 动作。由于 ENTRY 和 EXIT 动作与条件无关,因此无论异常转换如何,它们始终都会执行。

您可以将异常转换解释为它不是源自复合状态,而是直接源自每个子状态。异常转换的条件在其 DO 操作之后进行评估。由于 ENTRY 和 EXIT 操作与条件无关,因此无论异常转换如何,它们始终都会执行。

伪异常转换

伪异常转换取代了复合状态中的结束状态。

1. 伪异常转换的符号
伪异常转换的符号


有时,在复合状态中使用异常转换而不是结束状态会更简洁。然后在复合状态的边缘绘制它。然后,在异常转换的条件下退出整个复合状态。但是,这种使用并不意味着任何错误行为。因此,异常转换的属性被定义为伪异常转换。它不会影响循环执行行为。

特性

财产

描述

类型

Exception transition

优先事项

优先级定义了处理的顺序。

例子: 3

注意:如果状态有其他转换并且您更改了优先级,那么所有转换都会受到更改的影响并且会自动进行调整。

伪异常

  • _cds_icon_option_deactivated.png:正常异常转换。在编辑器中,这由红色虚线表示。默认。

  • _cds_icon_checked.png:伪异常转换。在编辑器中,这用蓝色虚线表示。当条件满足时,退出状态。但是,这不是错误。

上升沿

  • _cds_icon_checked.png:当保护条件产生上升沿时,转换运行并执行状态转换。

    提示:在编辑器中,以这种方式表现的异常转换由 _uml_icon_transition_rising_edge.png 象征。

  • _cds_icon_option_deactivated.png:当警戒条件 TRUE,转换已运行。

用户输入

行动

描述

  1. 在里面 工具箱 视图,选择 异常转换 元素。

  2. 单击一个复合状态。

  3. 单击另一个状态(目标状态)。

带有异常转换 TRUE 条件并生成动作符号。

注意

如果没有点击现有元素,而是点击空白区域,那么就会创建一个新状态(最终状态)。

  1. 选择一个复合状态。

  2. 点击 _uml_icon_tool_transition_exception.png 象征。

  3. 单击另一个状态(目标状态)。

带有异常转换 TRUE 条件并生成动作符号。

  1. 双击 _uml_transition_condition_default.png 象征。

    打开一个输入字段。

    _uml_icon_input_assistant.png

  2. 选择一个布尔变量或布尔表达式。

当满足该条件时,将切换到转换。

  1. 点击 _uml_icon_sc_transition_action_2.png 两次。

    将打开一个内联编辑器。

  2. 指定程序、方法或操作的名称。

当你开始输入时,匹配的组件会出现在列表框中。你可以双击来选择对象。

当转换已切换时,将执行此选定的方法或操作。

  1. 单击一次转换、动作符号或守卫符号。

    转换已选定。蓝色箭头表示已选定。

  2. 移動轉變。

转换线可以移动到任意位置。状态保持不变。

  1. 单击异常转换的开始或结束。

    _uml_icon_reconnect_transition.png 會顯示符號。

  2. 将符号拖拽至另一个状态。

您可以使用此功能将转换移至另一个状态,而不会丢失先前的配置。相应的条件和操作保持不变。