La Meilleure Façon de Déboguer Rénovation des Messages d'Erreur
Je suis nouveau sur Rénovation. J'ai utilisé de Volley, et j'aime Rénovation. J'étais juste sur le point de sélectionner Rénovation quand je suis tombé sur ce très non descriptif message d'erreur lorsque vous essayez de faire un POST.
Exception in thread "main" retrofit.RetrofitError
at retrofit.RetrofitError.httpError(RetrofitError.java:37)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:413)
at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:282)
at myapi.api.$Proxy7.logon(Unknown Source)
at myapi.api.TestDriver.main(TestDriver.java:94)
Bien, je dois dire que ce type de message d'erreur est aussi utile que d'une veste chaude dans le Sahara.
Personne ne sais même pas par où commencer avec le débogage de ce type de message? Je ne suis vraiment pas sur de déléguer à une api REST qui ne fournissent pas de messages d'erreur utiles.
- est-il probablement "causé par" plus tard dans la trace de la pile?
- en fait non. L'exécution de rénovation sur la ligne de commande c'est tout ce que je vois.
Vous devez vous connecter pour publier un commentaire.
Vous voudrez probablement ajouter une clause catch à
TestDriver.main
:Créer un personnalisé
ErrorHandler
de Rénovation.J'ai trouvé que la capture de l'erreur de ne pas fournir tout un tas d'informations supplémentaires, mais la création d'une coutume
ErrorHandler
de Rénovation m'a permis de creuser plus profondément dans l'erreur, comme suit:De la Synchrone Personnalisé Erreur de Manipulation section sur Rénovation De Page.
Définir le Niveau de journalisation pour PLEIN ainsi, comme le montre ci-dessus config code.
Log Level
, sinon, il essaie de traiter l'ensemble du dossier dans le Journal et vous donnera un insaisissableOutOfMemoryError
.Malheureusement RetrofitError (1.6.1) a été difficile. 401 du fait getResponse() retourne toujours null, qui fait qu'il est difficile de dire si c'est un problème de connexion ou de problème d'authentification. Au moins pour moi, j'ai dû regarder le message à faire l'erreur 401. Espérons que cela aide quelqu'un d'autre qui tente de faire quelque chose de similaire.