Telescope (core)

Quando usar throw ou pushError no tratamento de erros?

ADS.FAQ-1290
Prefira sempre usar o comando throw para reportar a ocorrência de um erro (exceção).
As poucas situações onde o push deve ser usado são as seguites:

A diferença entre os dois procedimentos é que o comando throw encerra imediatamente a execução e o comando pushError registra a mensagem mas continua o processamento até o final da "etapa", ou seja, continuarão a executar os outros métodos PRE ou POS que fazem parte da operação que está sendo executada.

Nas entidades:
  1. Executa todos os eventos PRE
  2. Executa todas as regras de ações mapeadas por PRE
  3. Executa todas as regras de validação (qualquer false apenas registra o erro)
  4. Se tiver erros, aborta com throw.
  5. Executa a ação propriamente dita
  6. Executa todos os eventos POS
  7. Executa todas as regras de ações mapeadas por POS