Lancez une exception au lieu de revenir. Quel est le type réel renvoyé par la méthode ?
L'article de questions-réponses Java proposé par l'éditeur PHP Zimo répondra à une question courante : "Lance une exception au lieu de renvoyer. Quel est le type réel renvoyé par la méthode ? En Java, lorsqu'une méthode lève une exception, le type de retour de la méthode est renvoyé. méthode C'est en fait nul, pas le type d'exception levée. Cela signifie que la méthode ne renvoie aucune valeur, mais la renvoie directement lorsqu'une exception est rencontrée. Lors de la gestion des exceptions, vous pouvez utiliser l'instruction try-catch pour intercepter les exceptions et les gérer en conséquence afin de garantir la stabilité et la fiabilité du programme.
Contenu de la question
J'approfondis une méthode URL
类的 openStream()
en Java pour trouver son type de retour réel. Depuis OpenJDK, sa source est :
public final InputStream openStream() lance java.io.IOException { Renvoie openConnection().getInputStream(); }
Le type de retour est évidemment l'objet de InputStream
, qui est une classe abstraite. Alors, c'est le type déclaré, quel est le type réel de l'objet renvoyé ?
Je suis le retour de openConnection()
方法,该方法返回 URLConnection
类的对象。我还顺着它的源码找到了getInputSteam()
. Finalement, j'ai trouvé ce code :
Le flux d'entrée public getInputStream() lance IOException { throw new UnknownServiceException("Le protocole ne prend pas en charge l'entrée"); }
Ma question est la suivante : quel est le type de retour réel de getInputStream()
的实际返回类型是什么,这将是 openStream()
?
Solution de contournement
Voici un exemple utilisant une adresse HTTPS.
Utilisez Débogez le processus et placez un point d'arrêt sur la URL#openStreamméthode.
Et je veux dire la méthode réelle, pas votre appel.
À partir de là, « entrez » dans la méthode openConnection.
Ensuite, « entrez » dans la méthode openConnection(URL).
Cela vous mènera à la classe sun.net.www.protocol.https.Handler.
Procédez à nouveau à la méthode openConnection(URL, Proxy), qui renvoie une nouvelle instance de sun.net.www.protocol.https.HttpsURLConnectionImpl.
En voyageant plus loin, vous constaterez qu'une instance de HttpsURLConnection est renvoyée via la classe sun.net.www.protocol.https.DelegateHttpsURLConnection.
Vous savez, lorsque j'ai commencé à utiliser Java il y a quelques années, j'ai (presque) eu exactement ce problème, sauf que j'étais confus à propos de java.awt.Graphics
.
Voir Programmation sur une interface
L'idée est que vous n'avez pas réellement besoin de connaître la classe précise - tout ce qui implémente l'interface peut être échangé vers l'intérieur ou vers l'extérieur. Cela rend le code plus adaptable dans le temps.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Depuis sa création en 2009, Bitcoin est devenu un leader dans le monde des cryptomonnaies et son prix a connu d’énormes fluctuations. Pour fournir un aperçu historique complet, cet article compile les données sur les prix du Bitcoin de 2009 à 2025, couvrant les principaux événements du marché, les changements de sentiment du marché et les facteurs importants influençant les mouvements de prix.

Le Bitcoin, en tant que crypto-monnaie, a connu une volatilité importante sur le marché depuis sa création. Cet article fournira un aperçu du prix historique du Bitcoin depuis sa naissance pour aider les lecteurs à comprendre ses tendances de prix et ses moments clés. En analysant les données historiques sur les prix du Bitcoin, nous pouvons comprendre l'évaluation de sa valeur par le marché, les facteurs affectant ses fluctuations et fournir une base pour les décisions d'investissement futures.

Depuis sa création en 2009, le prix de Bitcoin a connu plusieurs fluctuations majeures, passant à 69 044,77 $ en novembre 2021 et tombant à 3191,22 $ en décembre 2018. En décembre 2024, le dernier prix a dépassé 100 204 $.

Prix USD Bitcoin en temps réel Facteurs qui affectent le prix du bitcoin Indicateurs pour prédire les prix des futurs bitcoins Voici quelques informations clés sur le prix du bitcoin en 2018-2024:

La méthode de personnalisation des symboles de redimension dans CSS est unifiée avec des couleurs d'arrière-plan. Dans le développement quotidien, nous rencontrons souvent des situations où nous devons personnaliser les détails de l'interface utilisateur, tels que l'ajustement ...

Comment réaliser l'effet de courbe à 45 degrés du segmenter? Dans le processus de mise en œuvre du segmentant, comment faire transformer la bordure droite en une courbe de 45 degrés lorsque vous cliquez sur le bouton gauche, et le point ...

Nœud important pour le prix historique du Bitcoin 3 janvier 2009: Genesis Block a été généré, le premier Bitcoin a été généré, avec une valeur de 0 USD. 5 octobre: La première transaction Bitcoin, un programmeur a acheté deux pizzas avec 10 000 Bitcoins, ce qui équivaut à 0,008 $. 9 février 2010: Le Mt. Gox Exchange est allé en ligne et est devenu la plate-forme principale du commerce du bitcoin précoce. 22 mai: Bitcoin percède 1 $ pour la première fois. 17 juillet: le prix du bitcoin a plongé à 0,008 $, atteignant un creux historique. 9 février 2011: Le prix du bitcoin perdra 10 $ pour la première fois. 10 avril: Mt. Go

Le problème de l'ouverture des conteneurs en raison d'une omission excessive du texte sous disposition flexible et de solutions est utilisé ...