Throw
Artigo histórico da Make (data não indicada na fonte). Este texto reproduz uma página de documentação da Make. As descrições de recursos e as capturas de tela são da Make no momento da sua publicação; não são uma afirmação deste site nem garantia de que essa documentação continue igual hoje. Para o estado atual da plataforma, consulte as fontes oficiais da Make.
A Make não oferece a diretiva de tratamento de erro Throw. A implementação desse recurso está sendo analisada e avaliada. Este artigo descreve alternativas e workarounds para simular a diretiva de tratamento de erro Throw.
Solução alternativa
Para lançar um erro condicionalmente, você pode configurar um módulo para falhar propositalmente de forma opcional durante a sua operação. Uma possibilidade é empregar o módulo JSON > Parse JSON configurado para, opcionalmente, lançar um erro (BundleValidationError, nesse caso):

Em seguida, você pode anexar uma das diretivas de tratamento de erro à rota de tratamento de erro para:
-
forçar a interrupção da execução do cenário e executar a fase de rollback: Rollback
-
forçar a interrupção da execução do cenário e executar a fase de commit: Commit
-
interromper o processamento de uma rota: Ignore
-
interromper o processamento de uma rota e armazená-la na fila de execuções incompletas: Break
O exemplo a seguir mostra o uso da diretiva Rollback:

Workaround — usando o módulo HTTP
Caso de uso — tentar novamente depois de algum tempo quando nenhum registro é encontrado, usando a diretiva Break. Em geral, isso é crucial quando o registro não é atualizado instantaneamente e você gostaria de processá-lo mais tarde na automação. Usar a diretiva Break pode ser útil por exigir uma configuração menos complexa.
Barreira atual — a Make não oferece um módulo que permita gerar (lançar) erros condicionalmente com facilidade.
Para entender melhor, veja a configuração atual sem modificações: este cenário faz uma busca no Zendesk; se não houver resultado, ele não lança um erro à força. Para buscar novamente, seria preciso implementar um procedimento complexo salvando o registro.

Solução — para lançar um erro condicionalmente, você pode substituir o módulo em que quer lançar o erro por um módulo HTTP e, então, executar a busca em um segundo cenário, conectando o módulo HTTP a esse segundo cenário por meio de um webhook. Se nenhum resultado for encontrado, você pode personalizar o módulo para lançar um erro. Cenário um —
-
Substitua o módulo em que você quer lançar um erro pelo módulo HTTP > Make a Request
-
Configure a URL com o parâmetro de consulta que você obtém do módulo Custom Webhook e adicione um parâmetro de consulta opcional para buscar pelo e-mail
-
Ative as configurações avançadas e marque a opção de avaliar todos os estados como erros.

- Adicione um tratador Break nesse módulo HTTP e configure-o para executar mais tarde.

Cenário 2 —
-
Configure Webhooks > Custom Webhooks como trigger e copie a URL para usá-la no módulo HTTP, como mostrado nos passos anteriores.
-
Aqui, use o módulo Zendesk > Search for a User e utilize o parâmetro vindo do módulo HTTP para executar a consulta. Ative a opção de continuar a execução da rota mesmo se o módulo não retornar resultados.
-
Adicione um Router e crie duas rotas.
-
Em sequência, configure o módulo de resposta do webhook.
O exemplo a seguir retorna o resultado — você notará que, quando o módulo Zendesk executa a API, ele não envia nenhuma mensagem de erro, mas na ação estamos replicando o erro usando o módulo HTTP.
