Atividade Try

A atividade Try... tenta executar a(s) atividade(s) na ramificação Try principal.

Sobre Esta Tarefa

Se ocorrer qualquer exceção durante a execução da(s) atividade(s) na ramificação Try principal, a ramificação CatchAll será executada.

Clique com o botão direito do mouse no plano de fundo para criar uma nova ramificação CatchAll.

Por exemplo, a ramificação Try principal pode chamar a atividade Inserir Linhas do Banco de Dados, conforme mostrado na figura a seguir:

Se a atividade Inserir Linhas de Banco de Dados falhar e lançar uma exceção, a(s) atividade(s) na ramificação CatchAll será(ão) executada(s). Nesta orquestração de exemplo, quando uma exceção é lançada pela atividade Inserir Linhas de Banco de Dados, a atividade Terminar é executada, terminando, assim, a tarefa de orquestração atual.

Para incluir e configurar uma atividade Try..., conclua as etapas a seguir:

Procedimento

  1. Abra a guia Atividades e a pasta Lógica.
  2. Arraste a atividade Try... para a orquestração. A atividade Try... é exibida com as ramificações a seguir:
    • Ramificação Try...
    • Ramificação CatchAll
    Quando a primeira ramificação CatchAll é criada, as seguintes variáveis são criadas automaticamente:
    • faultName - Durante o tempo de execução, a variável faultName contém o nome da exceção lançada por uma atividade na ramificação Try.
    • faultData - Durante o tempo de execução, a variável faultData contém a mensagem de erro associada à exceção. Essas informações adicionais são retornadas atualmente apenas para as atividades de Serviços da Web. Para atividades de serviços da Web, a variável faultData contém a falha.
    • faultInfo - Durante o tempo de execução, a variável faultInfo retorna os nós a seguir:
      • name - Durante o tempo de execução, o nó faultInfo/name contém o nome da exceção lançada pela atividade na ramificação Try. O nó faultInfo/name é um tipo xsd:QName.
      • message - Durante o tempo de execução, o nó faultInfo/message contém a mensagem de erro associada à exceção. O nó faultInfo/message é um tipo xsd:string.
      • activityId - Durante o tempo de execução, o nó faultInfo/activityId contém o ID de atividade que identifica exclusivamente a atividade na qual a exceção ocorreu. O nó faultInfo/activityId é um tipo xsd:int.
      • activityName - Durante o tempo de execução, o nó faultInfo/activityName contém o nome da atividade no qual a exceção ocorreu. O nó faultInfo/activityName é um tipo xsd:string.
      • faultTime - Durante o tempo de execução, o nó faultInfo/faultTime contém o horário em que o erro ocorreu. O nó faultInfo/faultTime é um tipo xsd:dateTime.
      Nota: O nome da exceção retornado por uma atividade na variável faultName e o nó faultInfo/name pode alterar em uma liberação futura.
  3. Configure as ramificações Try... e CatchAll soltando atividades da guia Atividades nas ramificações da atividade Try..., conforme mostrado nas figuras precedentes e seguintes.
    Atenção: O escopo das variáveis faultName, faultData e faultInfo é limitado à ramificação CatchAll da atividade Try.... Esta limitação de escopo significa que o valor destas variáveis é garantido como sendo válido apenas na ramificação CatchAll. Por exemplo, se você incluir uma atividade If...Then que testa o valor da variável faultName, a atividade If..Then deverá ser colocada dentro da ramificação CatchAll da atividade Try..., conforme mostrado na figura a seguir: