Exercício: tratamento de exceções

Concluído

O tratamento de exceções é implementado em fluxos já desenvolvidos, após a identificação dos riscos por meio de testes.

Para implementar o exercício a seguir, você pode criar um novo fluxo contendo apenas uma ação Baixar da Web. O fluxo no exemplo é definido para baixar a ferramenta de criação de mídia do Windows 10, mas você pode configurar a ação para baixar qualquer arquivo.

Captura de tela da ação Baixar da Web.

Depois de desenvolver o subfluxo principal, crie um novo subfluxo denominado Check_Web_Access. O subfluxo deve verificar se o servidor que você deseja usar está disponível.

Para obter essa funcionalidade, use a ação Ping para verificar o servidor. Em seguida, use um bloco If para verificar se a resposta indica que o servidor está disponível. Quando a ação Ping retorna Falha, o fluxo deve parar.

Captura de tela do subfluxo Check_Web_Access.

Opcionalmente, você pode usar as ações Obter data e hora atuais e Gravar texto em arquivo para acrescentar um novo registro a um arquivo de log.

Captura de tela das ações opcionais no subfluxo Check_Web_Access.

Configurar tratamento de exceções para uma ação individual

De volta ao subfluxo principal, a ação Baixar da Web pode ser um risco potencial, pois os problemas de conectividade com a Internet podem fazer com que o fluxo falhe.

Para tornar a ação resistente a problemas de conectividade, abra as propriedades dela e selecione Se houver erro. Depois, configure as seguintes opções:

  • Política de repetição corrigida

    • Vezes: 1

    • Intervalo: 2

  • Execute o subfluxo Check_Web_Access

  • Continuar execução de fluxo, repetindo a ação.

Captura de tela das opções de tratamento de erros da ação Baixar da Web.

Essa configuração de tratamento de erros faz com que a ação tente novamente após dois segundos sempre que falhar.

Se a nova tentativa não for bem-sucedida, o subfluxo Check_Web_Access será executado. O subfluxo verifica se o servidor está disponível. Se não estiver, o fluxo será interrompido. Se estiver disponível, a ação será executada novamente.

Configurar tratamento de exceções para um bloco de ações

Após garantir que a ação Baixar da Web seja executada conforme planejado, vamos adicionar mais duas ações ao subfluxo principal.

Implante a ação Copiar arquivo(s) e configure-a para criar uma cópia do arquivo baixado em um segundo disco rígido na área de trabalho. Em seguida, use a ação Renomear arquivo(s) para alterar o nome do arquivo recém-criado.

Captura de tela do subfluxo principal final.

Durante a execução do fluxo, a segunda unidade pode ser desconectada. Esse cenário fará com que o fluxo falhe. Para evitar falhas, você deve implementar um comportamento de tratamento de exceção comum para ambas as ações, pois o risco é o mesmo.

Adicione uma ação Erro no bloco antes de copiar o arquivo e configure-o para ignorar as ações no bloco.

Captura de tela da ação Erro no bloco.

Agora, se ocorrer algum erro quando o arquivo for copiado ou renomeado, o fluxo ignorará essas etapas e continuará em execução.