Tratando Erros e Encerrando Workflows para SharePoint no Visual Studio

O tratamento de erros é uma necessidade que todos os códigos desenvolvidos deveriam ter. Desenvolver fluxos para o SharePoint no Visual Studio não foge a regra. Neste post vamos ver dois assuntos muito importantes:

  • Tratamento de erros em fluxos de trabalho; e
  • Como encerrar um fluxo a partir de um erro.

No exemplo atual foi criado um fluxo de estado simples, que contém um estado inicial e um segundo estado. O objetivo é mostar como tratar erros e encerrar o fluxo, ignorem os nomes e a regra de negócio.

Na imagem 01 vemos como abrir a inicialização do estado para podermos realizar as configurações desejadas.

Imagem 01: Abrir a inicialização do estado

Na imagem 02 temos duas atividades, a primeira é uma atividade de execução de código, que no caso só tem um objetivo: criar uma exceção”throw new Exception("Erro no fluxo");”. A atividade seguinte registra informações no histórico do fluxo. Para fazer o tratamento de erro é necessário clicar em “View Fautl Handlers”, conforme imagem 02.

Imagem 02 – Exibindo o manipulador de erros

Após a execução do passo anterior as atividades do estado agora são exibidas de forma diferente, ou seja, o tratamento de erro é exibido. A imagem 03 exibe vários número, abaixo a descrição deles:

  1. Localizar a atividade FaultHander e arrastá-la até o número 2;
  2. Ao selecionar a atividade as propriedades dela serão exibidas, como no número 3;
  3. Definir o tipo de erro que será tratado, para diferenciar entre vários tipos de erro é só colocar vários atividades FaultHandler e definir tipos diferentes entre elas. No exemplo abaixo estamos utilizando o tipo System.Exception, ou seja, qualquer erro será capturado;
  4. Como parte do tratamento de erro vamos terminar a execução do fluxo, para isso localizar a atividade Terminate e arrastá-la até o número 5;
  5. Ao selecionar a atividade uma mensagem pode ser definida.

Imagem 03: Tratamento de erro e encerramento do fluxo

A imagem 03 mostrou como tratar erros e encerrar o fluxo juntos, qualquer erro que aconteça o fluxo irá terminar.

Esse não é um comportamento normal, geralmente ao tratar algum erro ele pode ser gravado no histórico do fluxo e ser aberta uma tarefa para algum usuário tentar corrigir o erro sem precisar encerrar o fluxo.

Mesma ideia serve para a atividade de terminar o fluxo, não precisa ser utilizada somente dentro de tratamento de erros, pode ser utilizada a qualquer momento no fluxo.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: