- Notas de Versão
- Introdução
- Configuração e Instalação
- Projetos de automação
- Dependências
- Tipos de fluxos de trabalho
- Sequences
- Fluxogramas
- Máquinas de estado
- Gerenciador de Exceção Global
- Comparação de arquivos
- Melhores Práticas de Automação
- Integração de controle de origem
- Depuração
- A ferramenta de diagnóstico
- Analisador de Fluxo de Trabalho
- Sobre o Analisador de Fluxo de Trabalho
- STN MG-001 - Convenção de nomenclatura de variáveis
- STN MG-002 - Convenção de nomenclatura de argumentos
- STN MG-004 - Duplicação de Nome de Exibição
- STN MG-005 - Variável substitui variável
- STN MG-006 - Variável substitui argumento
- STN MG-008 - Comprimento de variável excedido
- STN MG-009 - Variáveis Catablema de prefixo
- STN MG-011 - Argumentos Catablema de prefixo
- STN MG-012 - Valores padrão de argumentos
- STN MG-016 - Comprimento do argumento excedido
- SR-DB-002 - Contagem alta de argumentos
- SR-DB-003 - Esvaziar bloco catechu
- SR-DB-007 - Múltiplas camadas Com fluxograma
- SR-DB-020 - Propriedades de saída indefinidas
- SR-DB-023 - Fluxo de trabalho vazio
- SR-DB-024 - Verificação da atividade Persistente
- SR-DB-025 - Pré-requisito de serialidade de variáveis
- SR-DB-026 - Uso da atividade Dela
- SR-DB-027 - Melhores práticas de persistência
- SR-DB-028 - Pré-requisito de serialidade de argumentos
- SR-US-005 - Argumentos de atividades embutidos em código
- SR-US-009 - Variáveis não utilizadas
- SR-US-010 - Dependências não utilizadas
- SR-US-014 - Restrições de pacotes
- SR-US-020 - Mensagens de logue mínimas
- SR-US-024 - Não utilizado e postergado
- SR-US-025 - Uso incorreto do valor salvo
- SR-US-026 - Restrições da atividade
- SR-US-027 - Pacotes necessários
- Variáveis
- Argumentos
- Namespaces Importados
- Fluxo de controle
- Repo. de Objetos
- Geração de logs
- A ferramenta de migração ScaleCoordinates
- A ferramenta ScreenScrapeJavaSupport
- StudioPro
- Extensões
- Solução de problemas
- Internet Explorer x64
- Problemas de interoperabilidade do Microsoft Office
- Como identificar elementos de EU em PDF com opções de acessibilidade
- Como identificar elementos de EU após as atualizações do Windows
- Aplicativos do JxBrowser
- Monitoração de eventos de usuário
- Java no Apo-V
- Suporte e limitações do Microsoft Apo-V
- Solução de problemas da Citrix
O Gerenciador de Exceção Global é um tipo de fluxo de trabalho projetado para determinar o comportamento do projeto ao encontrar um erro de execução. Apenas um Gerenciador de Exceção Global pode ser definido por projeto de automação.
O Gerenciador de Exceção Global não fica disponível para projetos de biblioteca, apenas processos.
The Global Exception Handler has two arguments, that should not be removed.
O primeiro argumento é o errorInfo com a direção In e armazena informações sobre o erro que foi gerado e o fluxo de trabalho que falhou. O nível do erro a ser registrado pode ser definido na atividade Mensagem de log.
Use a propriedade ActivityInfo para errorInfo, a fim de obter o nome da atividade que gerou a exceção e exibi-la no painel Saída.
O segundo argumento, result tem a direção Out e será usado para determinar o próximo comportamento do processo quando ele encontrar um erro. Os seguintes valores podem ser atribuídos ao argumento result:
-
Continuar – A exceção será gerada novamente.
-
Ignorar – A exceção será ignorada, e a execução continua a partir da próxima atividade.
-
Tentar novamente – A atividade que gerou a exceção será repetida. Use o método
RetryCountparaerrorInfo, a fim de contar o número de vezes que a atividade será repetida. -
Anular – A execução para depois de executar o Gerenciador de Exceção Global atual.
Observação:Qualquer fluxo de trabalho pode ser sinalizado como um Gerenciador de Exceção Global no Studio, exceto para projetos de biblioteca e
Main.xaml.
Como lidar com erros durante a depuração
Quando uma exceção for detectada durante a depuração, a atividade com falha será destacada, a execução será pausada e o tipo e os detalhes da exceção serão mencionados nos painéis Locais e Chamar Pilha.
Debugging actions like Continue, Stop, Retry, Ignore, Restart and Slow Step are available in the ribbon. Ignore is used for continuing the execution from the next activity.
O botão Tentar novamente repete a execução da atividade atual, sem o Gerenciador de Exceção Global. A ação Continuar executa o Gerenciador de Exceção Global, considerando os valores escolhidos anteriormente para o argumento result, que podem ser Continuar, Ignorar, Tentar novamente ou Anular.
Ao usar o Gerenciador de Exceção Global com um projeto que inclui um Try Catch, certifique-se de agrupar as atividades em uma Sequência dentro do contêiner Tentar.Caso contrário, o Gerenciador de Exceção Global não será executado.
No caso das atividades nested, o Gerenciador de Exceção Global será executado para cada atividade na pilha de chamadas. No entanto, ele não será executado para as atividades encapsuladas diretamente em uma Try Catch, a menos que elas estejam contidas em uma atividade.
Exemplo de como usar o Gerenciador de Exceção Global
O seguinte exemplo mostra o comportamento do projeto quando uma exceção é gerada durante a execução.
O projeto de automação será definido para clicar dentro de um documento do Notepad vazio e salvo, digitar algum texto e fechar o aplicativo, mas não antes de clicar no botão de salvar para salvá-lo.
Para controlar o comportamento do fluxo de trabalho no caso de um erro, o Gerenciador de Exceção Global repete a atividade três vezes e, em seguida, anula com uma mensagem de erro.
Como criar o fluxo de trabalho
-
Create a Blank Process by following the steps in the Creating a Basic Process page.
-
Abra o Notepad e salve um documento na sua máquina.
-
From the Activities panel, drag a Type Into activity to the Designer panel. The activity is automatically added to a Sequence.
-
Na atividade Type Into, clique em Indicar na tela. O Studio minimiza e permite que você clique dentro da janela do Notepad para criar o seletor. No campo de texto, digite o texto desejado entre aspas.
-
From the Activities panel, add a Send Hotkey activity to the workflow. Indicate the Notepad window, and select Ctrl from the activity, type in s in the Key field. This saves the Notepad document after the text was typed in.
-
From the Activities panel, add a Close Application activity to the workflow. Indicate the Notepad window using Indicate on screen. The resulted workflow should look like this:
Como adicionar um Gerenciador de Exceção Global
-
Na guia Design, na Faixa de Opções, selecione Novo > Gerenciador Global. A janela Novo Gerenciador Global será aberta. Digite um Nome para o gerenciador e salve-o no caminho do projeto. Clique em Criar, um Gerenciador de Exceção Global será adicionado ao projeto de automação.
-
Na guia Variáveis, crie uma
Int32variável chamadaretryCount, defina seu escopo para todo o Gerenciador de Exceção Global, deixe o campo de valor Padrão vazio. A variável armazenará o número de repetições e aumentará o número em1a cada vez que um erro for encontrado. -
Crie uma variável String chamada
failedActivitye defina seu escopo para todo o fluxo de trabalho. Essas variáveis vão armazenar o nome da atividade com falha e o revelar no painel Saída. -
From the Activities panel, add an Assign activity below the Log Error in the Global Handler sequence. Add the
retryCountto the activity and assign it theerrorInfo.RetryCountexpression, which counts the number of times the exception is thrown. -
Adicione outra atividade Assign, a qual atribui a expressão
errorInfo.ActivityInfo.Nameà variávelfailedActivity. Neste momento, o fluxo de trabalho deve ser semelhante a isto: -
Add an If activity to the workflow. Set the Condition to
retryCount < 3to limit the number of retries to 3. -
Na atividade Assign, que faz parte da categoria Then, atribua o
ErrorAction.Retryà variávelresultpara o Gerenciador de Exceção Global repetir a atividade que gerou a exceção. -
Na categoria Else, atribua o
ErrorAction.Abortàresultpara o Gerenciador de Exceção Global anular a execução quando a condição for atendida. A atividade If deve ser semelhante a isto:
Quando o Gerenciador de Exceção Global encontrar uma exceção, ele registrará em log o nome da atividade com falha e começará a repetir a atividade três vezes. Se ele encontrar a mesma exceção todas as vezes e o número de repetições atingir 3, a execução será anulada no nível da atividade que gerou a exceção.
Se durante uma tentativa de repetição, uma exceção não for encontrada, a execução do fluxo de trabalho continuará e o Gerenciador de Exceção Global não intervirá.