Je reçois constamment des rapports d'erreur (des utilisateurs) tels que:Comment attraper Amazon erreurs AWS Android
Causée par: Code d'état: 400, service AWS: Amazon SimpleDB, AWS Demande ID: c5cb109d-bbff-fcea- bc0d-0cb60ff8f6af, AWS Code d'erreur: RequestExpired, AWS Message d'erreur: La requête a expiré. La date d'horodatage est 2012-06-06T13: 19: 59.415Z. La date actuelle est 2012-06-06T14: 20: 03Z
Apparemment, c'est parce que l'utilisateur n'a pas le bon fuseau horaire ou quelque chose de défini? Peu importe, je voudrais attraper cette erreur particulière et poster un message à l'utilisateur en leur demandant de vérifier leurs paramètres de fuseau horaire, mais je ne peux pas trouver un moyen de le faire. Si j'attrape AmazonServiceException, l'erreur apparaît comme nulle.
Comment puis-je détecter les erreurs en fonction du code d'état ou même du code d'erreur? Le code actuel que j'ai essayé ressemble à ceci:
try {
dostuff()
} catch (IOException e) {
updateAWS("DownloadErrors");
return "filenotfound";
} catch (AmazonServiceException e) {
return "downloadfail";
}
Cependant AmazonServiceException e est toujours nul, donc je ne peux pas tirer des informations de celui-ci.
autre code:
private void doStuff() throws IOException, AmazonServiceException{
//code here
}
Vous pouvez ajouter la balise "simpledb". Aussi, une "Exception" régulière ne comprend pas cela? 'e.getMessage()' –
Je ne suis pas sûr de ce que vous voulez dire. Pourriez-vous expliquer? – easycheese
Vous utilisez des exceptions spécifiques, mais pas un type catchall d'exception, ajoutez '} catch (Exception e) {Log.e (" myapp ", e.getMessage()); } 'à la fin de votre capture. –