Skip to main content

Elemento: Transición de excepción

Una transición de excepción controla el cambio al siguiente estado o pseudoestado si ocurre un error o una excepción. La transición de excepción tiene una condición de protección y, opcionalmente, una acción.

Una transición de excepción interrumpe el procesamiento actual. Primero, el estado actualmente activo se procesa hasta el final del ciclo. A continuación, el sistema cambia al estado previsto como reacción a esta excepción. En este estado, se ejecuta el manejo de errores y el manejo de excepciones. El estado fuente suele ser un estado ortogonal compuesto.

_uml_img_exception_transition.png

Sugerencia

La transición de excepción se utiliza para salir de un estado compuesto desde cualquier subestado. Su estado se evalúa después de ejecutar la acción DO para el estado activo. Incluso cuando la condición para la transición de excepción es TRUE la primera vez que se ingresa a un estado compuesto, se ejecuta la acción DO del primer estado. Dado que las acciones de ENTRADA y SALIDA no están vinculadas a condiciones, siempre se ejecutan independientemente de la transición de excepción.

Puede interpretar una transición de excepción en la medida en que no se origine en un estado compuesto, sino directamente en cada subestado. Las condiciones para las transiciones de excepción se evalúan después de sus acciones DO. Dado que las acciones de ENTRADA y SALIDA no están vinculadas a condiciones, siempre se ejecutan independientemente de la transición de excepción.

Transición de pseudo excepción

Una transición de pseudo excepción reemplaza el estado final en un estado compuesto.

figura 1. Notación de una transición de pseudo excepción
Notación de una transición de pseudo excepción


A veces es mejor usar una transición de excepción en lugar de un estado final en un estado compuesto. Luego se dibuja en el borde del estado compuesto. Luego se sale de todo el estado compuesto bajo la condición de la transición de excepción. Sin embargo, este uso no implica ningún comportamiento de error. Por lo tanto, las propiedades de la transición de excepción se definen como una transición de pseudo excepción. No afecta el comportamiento de ejecución cíclica.

Propiedades

Propiedad

Descripción

Escribe

Exception transition

Prioridad

La prioridad define el orden de procesamiento.

Ejemplo: 3

Nota: si el estado tiene otras transiciones y cambia la prioridad, todas las transiciones se ven afectadas por el cambio y se adaptan automáticamente.

pseudo excepción

  • _cds_icon_option_deactivated.png: transición de excepción normal. En el editor, esto se indica con una línea roja discontinua. Por defecto.

  • _cds_icon_checked.png: transición de pseudo excepción. En el editor, esto se indica con una línea azul discontinua. Se sale del estado cuando se cumple la condición. Sin embargo, esto no es un error.

Flanco ascendente

  • _cds_icon_checked.png: Cuando la condición de guardia produce un flanco ascendente, se ejecutan las transiciones y se ejecuta la transición de estado.

    Sugerencia: en el editor, una transición de excepción que se comporta de esta manera se indica mediante el _uml_icon_transition_rising_edge.png símbolo.

  • _cds_icon_option_deactivated.png: Cuando la condición de guardia es TRUE, se ejecuta la transición.

Entrada del usuario

Acción

Descripción

  1. En el Caja de herramientas ver, seleccione el Transición de excepción elemento.

  2. Haga clic en un estado compuesto.

  3. Haga clic en otro estado (estado de destino).

Una transición de excepción con un TRUE condición y se genera un símbolo de acción.

Nota

Si no hace clic en un elemento existente, sino en un área en blanco, se crea un nuevo estado (estado final).

  1. Seleccione un estado compuesto.

  2. Haga clic en el _uml_icon_tool_transition_exception.png símbolo.

  3. Haga clic en otro estado (estado de destino).

Una transición de excepción con un TRUE condición y se genera un símbolo de acción.

  1. Haga doble clic en el _uml_transition_condition_default.png símbolo.

    Se abre un campo de entrada.

    _uml_icon_input_assistant.png

  2. Seleccione una variable booleana o una expresión booleana.

Cuando se cumple esta condición, se realiza el cambio a la transición.

  1. Hacer clic _uml_icon_sc_transition_action_2.png dos veces.

    Se abre un editor en línea.

  2. Especifique el nombre de un programa, método o acción.

Cuando comienza a escribir, los componentes coincidentes aparecen en un cuadro de lista. Puede hacer doble clic para seleccionar el objeto.

Este método o acción seleccionado se ejecuta cuando se ha cambiado la transición.

  1. Haga clic en una transición, el símbolo de acción o el símbolo de guardia una vez.

    La transición está seleccionada. Esto se indica con una flecha azul.

  2. Mueva la transición.

La línea de una transición se puede mover a cualquier lugar. Los estados permanecen en su lugar.

  1. Haga clic en el inicio o el final de una transición de excepción.

    los _uml_icon_reconnect_transition.png se muestra el símbolo.

  2. Arrastre el símbolo a otro estado.

Puede usar esta función para mover una transición a otro estado sin perder la configuración anterior. La condición y acción correspondientes permanecen sin cambios.