Java URL mal formée d'Exception
Je suis en train de faire une requête http POST dans une application android, je suis en train de construire, mais n'importe quelle url-je utiliser pour la demande, Eclipse ne cesse de soulever une URL mal formée d'Exception. J'ai essayé une ligne de code à partir de l'un des android tutoriels:
URL url = new URL("https://wikipedia.org");
Et même qui déclenche l'erreur. Est-il une raison Eclipse ne cesse de soulever cette erreur pour toutes les URL que j'ai essayer de créer?
- Poster votre code et LogCat.
- Fonctionne très bien pour moi. Post la trace de la pile.
- Et merci de mettre le code dans votre question, et pas dans les commentaires.
- Voulez-vous dire que l'exception est levée? Ou tout simplement vous dire Eclipse continue à vous dire à propos de l'Exception? Si c'est le dernier, c'est parce que MalformedURLException est une checked exception, c'est à dire, vous devez explicitement traiter avec dans le code, soit en l'enveloppant dans une instruction try/catch, ou par l'ajout de
throws MalformedURLException
à la méthode de stub. - est-ce la ligne à l'intérieur d'un bloc try-catch?
Vous devez vous connecter pour publier un commentaire.
C'est de ne pas soulever l'exception, c'est pour se plaindre que vous n'avez pas traité la possibilité qu'il pourrait, même si ce ne sera pas, parce que l'URL dans ce cas n'est pas incorrect. (Java, les concepteurs de la pensée de ce concept, "checked exceptions", était une bonne idée, même si dans la pratique il n'a pas bien fonctionné.)
L'enfermer, ajouter
throws MalformedURLException
, ou de sa super-classethrows IOException
, à la déclaration de la méthode. Par exemple:Sinon, attraper et renvoyer l'exception ennuyeuse comme une décoché exception:
Java 8 a ajouté le
UncheckedIOException
classe pour le renvoi desIOException
s lorsque vous ne peut pas gérer. Dans les précédentes versions de Java, l'utilisationRuntimeException
.MalformedURLException
est.MalformedURLException
ne doit pas être cochée exception, mais l'équipe Java fait-il si pour une raison quelconque, je suis encore à comprendre.