Actividad Intentar

La actividad Intentar... prueba de ejecutar la actividad o actividades en la ramificación de Intentar principal.

Acerca de esta tarea

Si se produce alguna excepción al ejecutar la actividad o actividades en la ramificación Intentar principal, se ejecuta la ramificación CatchAll (Coger todo).

Al pulsar con el botón derecho del ratón sobre el fondo, se crea una nueva ramificación CatchAll.

Por ejemplo, la ramificación Intentar principal puede llamar a la actividad Insertar filas en base de datos tal como se muestra en la siguiente figura:

Si la actividad Insertar filas en base de datos falla y emite una excepción, la actividad o actividades de la ramificación CatchAll se ejecuta(n). En esta orquestación de ejemplo, cuando la actividad Insertar filas en base de datos lanza una excepción, la actividad Terminar se ejecuta aunque da por concluido el trabajo de orquestación actual.

Para añadir y configurar una actividad Intentar..., complete los siguientes pasos:

Procedimiento

  1. Abra el separador Actividades y la carpeta Lógica.
  2. Arrastre la actividad Intentar... hacia la orquestación. Se visualiza la actividad Intentar... con las siguientes ramificaciones:
    • Ramificación Intentar...
    • Ramificación CatchAll (coger todo)
    Cuando se crea la primera ramificación CatchAll, las siguientes variables también se crean automáticamente:
    • faultName - Durante el tiempo de ejecución, la variable faultName contiene el nombre de la excepción emitida por una actividad en la ramificación Intentar.
    • faultData - Durante el tiempo de ejecución, la variable faultData contiene el mensaje de error asociado con la excepción. Esta información adicional solo se devuelve actualmente para las actividades de Web Services. En el caso de las actividades de Web Services, la variable faultData contiene el error.
    • faultInfo - Durante el tiempo de ejecución, la variable faultInfo devuelve los siguientes nodos:
      • name - Durante el tiempo de ejecución, el nodo faultInfo/name contiene el nombre de la excepción emitida por la actividad en la ramificación Intentar. El nodo faultInfo/name es del tipo xsd:QName.
      • message - Durante el tiempo de ejecución, el nodo faultInfo/message contiene el mensaje de error asociado con la excepción. El nodo faultInfo/message es del tipo xsd:string.
      • activityId - Durante el tiempo de ejecución, el nodo faultInfo/activityId contiene el ID de actividad que identifica de manera exclusiva la actividad en la que se ha producido la excepción. El nodo faultInfo/activityId es del tipo xsd:int.
      • activityName - Durante el tiempo de ejecución, el nodo faultInfo/activityName contiene el nombre de la actividad en la que se ha producido la excepción. El nodo faultInfo/activityName es del tipo xsd:string.
      • faultTime - Durante el tiempo de ejecución, el nodo faultInfo/faultTime contiene la hora a la que se produjo el error. El nodo faultInfo/faultTime es del tipo xsd:dateTime.
      Nota: El nombre de la excepción devuelta por una actividad de la variable faultName y el nodo faultInfo/name pueden cambiar en un release posterior.
  3. Configure las ramificaciones Intentar... y CatchAll soltando actividades desde el separador Actividades de la actividad Intentar... tal como aparece en las figuras anteriores y siguientes.
    Atención: El ámbito de las variables faultName, faultData, y faultInfo está limitado a la ramificación CatchAll de la actividad Intentar.... Esta limitación del ámbito supone que la garantía de la validez de estas variables solo se ofrece en la ramificación CatchAll. Por ejemplo, si añade una actividad If...Then que prueba el valor de la variable faultName, la actividad If..Then deberá colocarse dentro de la ramificación CatchAll de la actividad Intentar... tal como aparece en la siguiente figura: