Identificação
A primeira etapa é identificar o erro. Embora todo erro não capturado seja registrado e fique disponível na resposta ao chamador (cliente), você pode capturar o erro antecipadamente usando um blocotry/catch.
Considere o seguinte trecho do CloudScript, que produz e captura o erro.
O código de erro, por si só, é suficiente para identificar o erro.
Registro em log
Qualquer erro não tratado é adicionado à resposta, permitindo que o cliente processe o problema. Ao mesmo tempo, ele cria uma entrada de erro do CloudScript e a adiciona às estatísticas totais disponíveis no seu painel do CloudScript.
log.
Recuperação
Nem sempre é possível se recuperar de erros. Problemas comoInvalidArguments não deixam outra opção a não ser relatar o problema ao jogador.
Há um subconjunto de erros em que uma estratégia de repetição pode ser aplicada. Os tipos de erro que podem ser repetidos estão descritos em Códigos de erro de métodos da API global.
Pedimos que você garanta que atende aos seguintes requisitos ao aplicar uma estratégia de repetição:
- A cada nova tentativa, o atraso entre as tentativas deve aumentar exponencialmente. Isso aumenta suas chances de uma chamada bem-sucedida e impede que seu jogo sobrecarregue o servidor do PlayFab (o que resultará em mais chamadas rejeitadas).
- Você deve aplicar essa estratégia de repetição de forma seletiva, usando-a apenas para os códigos que valem a pena repetir.
Erro de tempo limite do CloudScript
O tempo de execução das chamadas de API do CloudScript é limitado a 4 segundos. Se o tempo de execução exceder 4 segundos, umInternalServerError será gerado, e o evento do PlayStream gravará um objeto Logs semelhante ao seguinte:
- dividir seu CloudScript em segmentos de código menores, que serão executados em menos de 4 segundos.
- mudar para o CloudScript usando Azure Functions, que, em alguns casos, tem limites de tempo limite maiores. Você pode ver os limites no guia de início rápido.
