Tratamento de erros fora do padrão
Closed this issue · 1 comments
Em alguns casos como o da issue #190 a API retorna um erro fora do padrão citado na documentação e a SDK retorna a excessão em branco:
Então queria levantar a discussão, se também não seria interessante tratar esses erros (individuais), que aparentemente vem no seguinte formato JSON { "error": "..." }
.
Uma possível solução seria alterar o seguinte trecho do arquivo Exceptions/Error.php:
if (!empty($error_obj->errors)) {
foreach ($error_obj->errors as $error) {
$errors[] = new self($error->code, $error->path, $error->description);
}
}
Para:
if (!empty($error_obj->errors)) {
foreach ($error_obj->errors as $error) {
$errors[] = new self($error->code, $error->path, $error->description);
}
} else if (!empty($error_obj->error)) {
$errors[] = new self('', '', $error_obj->error);
}
Assim retornando o erro ao executar a SDK:
Vocês acreditam que seria uma boa opção para facilitar no tratamento de erros? Ou é melhor apenas tratar os erros que vierem no formato correto (da forma que é hoje)?
A parte "ruim" é que as informações de code e path vão ser retornadas em branco, mas ao menos a description poderia ser visualizada, ajudando na identificação de alguns erros que ainda não são tratados.
Boa tarde, @kleytonbp!
Tudo bem?
Sim, realmente, isto é uma boa opção.
Testei a solução apresentada e está funcionando corretamente. 👍
Já estamos aplicando a correção à nossa SDK.
Agradecemos muito pela sua contribuição! 🚀
Forte abraço.