0
votes

Comment gérer des exceptions à Android en utilisant un lancer

J'essaie d'obtenir des informations à partir d'un site Web et d'l'afficher dans une application Android. La seconde réponse à la question " Quel est le moyen le plus rapide de racler la page Web HTML dans Android? " suggéré d'utiliser bufferedreader. Dans la réponse, la personne utilise la classe URL. J'ai essayé de mettre en œuvre la réponse comme celle-ci: xxx

j'ai cette erreur: xxx

Que voulez-vous Suggérez-vous à gérer cela, est-ce une manière intelligente d'obtenir des données d'un site Web? Toute aide est très appréciée


1 commentaires

Bienvenue à Stackoverflow! Supprimer offre une exception , ajoutez attraper pour essayer bloquer, vous ne pouvez pas modifier la déclaration de méthode lors du remplacement. En outre, vous obtiendrez une exception, car vous essayez d'exécuter un appel réseau sur le fil principal. Utilisez une bibliothèque OKHTTP. Et oui, n'essayez pas d'analyser le HTML manuellement (SO JSON API, AFAIK)


3 Réponses :


0
votes

premier off - Oncreate () code> devrait être public code>, pas protégé code>. Deuxièmement, la signature de oncreate () code> ne jette pas une exception, de sorte que vous ne pouvez donc pas l'ajouter lorsque le dépassement. Si vous voulez lancer, alors le meilleur que vous puissiez faire est de supprimer le code> à partir de la signature de méthode, attrape code> it, enveloppez-le dans un RunTimeException code > et repousser:

try {
  // .. your code
} catch(Exception e){
    throw new RuntimeException(e);
}finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException logOrIgnore) {
                    logOrIgnore.printStackTrace();
                }
            }
        }


0 commentaires

0
votes

Modifier le code comme celui-ci xxx

et dans le fichier enregistreur, vous pouvez obtenir la cause réelle d'exception.


0 commentaires

0
votes

Oncreate () La méthode fait partie de Activité LIFECYCLE, vous ne pouvez simplement le remplacer (note @override ), pas en écriture, non Vous ne pouvez pas modifier les attributs, le type de retour ou ajouter / supprimer lancers DÉCLARATIONES

Suppression SOULOBLE EXCEPTION à partir de VOI PROTECTEGE ONCREEE (BUNDLE SAVEDInsTATEATE) Jette une exception {< / Code> - Ceci est en train de causer votre exception

et d'utiliser Essayez {} Catch {} , par exemple xxx

@neeraj Ce n'est pas vrai, en fait, il s'agit d'une seule et unique chose que vous pouvez changer - accessibilité de la classe ( public , protégé ) - mais uniquement pour la version "plus accessible", donc protégé à public , mais pas par exemple public à privé . d'ailleurs. En fait, super de cette méthode est protégé , @mamoratzo n'a pas changé, c'est bien


0 commentaires