

Eine Ausnahme auslösen, anstatt zurückzukehren. Was ist der tatsächliche Typ, den die Methode zurückgibt?
Der Java-Q&A-Artikel des PHP-Editors Zimo beantwortet eine häufig gestellte Frage: „Eine Ausnahme auslösen statt zurückgeben. Was ist der tatsächliche Typ, den die Methode in Java zurückgibt, wenn eine Methode eine Ausnahme auslöst?“ Methode Es ist tatsächlich ungültig, nicht die Art der ausgelösten Ausnahme. Das bedeutet, dass die Methode keinen Wert zurückgibt, sondern ihn direkt auslöst, wenn eine Ausnahme auftritt. Bei der Behandlung von Ausnahmen können Sie die Try-Catch-Anweisung verwenden, um Ausnahmen abzufangen und entsprechend zu behandeln, um die Stabilität und Zuverlässigkeit des Programms sicherzustellen.
Frageninhalt
Ich beschäftige mich eingehender mit einer URL
类的 openStream()
-Methode in Java, um ihren tatsächlichen Rückgabetyp zu finden. Die Quelle stammt von OpenJDK:
public final InputStream openStream() löst java.io.IOException { aus Return openConnection().getInputStream(); }
Der Rückgabetyp ist offensichtlich InputStream
s Objekt, eine abstrakte Klasse. Dies ist also der deklarierte Typ. Was ist der tatsächliche Typ des zurückgegebenen Objekts?
Ich verfolge die Rückkehr von openConnection()
方法,该方法返回 URLConnection
类的对象。我还顺着它的源码找到了getInputSteam()
. Endlich habe ich diesen Code gefunden:
Der öffentliche Eingabestream getInputStream() löst eine IOException { throw new UnknownServiceException("Das Protokoll unterstützt keine Eingabe"); }
Meine Frage ist, was ist die eigentliche Rückgabeart von getInputStream()
的实际返回类型是什么,这将是 openStream()
?
Workaround
Hier ist ein Beispiel mit einer HTTPS-Adresse.
Verwenden Sie Debuggen des Prozesses und platzieren Sie einen Haltepunkt auf der URL#openStreamMethode.
Und ich meine die eigentliche Methode, nicht Ihren Anruf.
Von hier aus „treten“ Sie in die openConnection-Methode ein.
Dann „treten“ Sie in die openConnection(URL)-Methode ein.
Hier gelangen Sie zur Klasse sun.net.www.protocol.https.Handler.
Fahren Sie erneut mit der Methode openConnection(URL, Proxy) fort, die eine neue Instanz von sun.net.www.protocol.https.HttpsURLConnectionImpl zurückgibt.
Wenn Sie weiter reisen, werden Sie feststellen, dass eine Instanz von HttpsURLConnection über die Klasse sun.net.www.protocol.https.DelegateHttpsURLConnection zurückgegeben wird.
Wissen Sie, als ich vor ein paar Jahren anfing, Java zu verwenden, hatte ich (fast) genau dieses Problem, außer dass ich darüber verwirrt war java.awt.Graphics
.
Siehe Programmieren für eine Schnittstelle
Die Idee ist, dass Sie die genaue Klasse nicht wirklich kennen müssen – alles, was die Schnittstelle implementiert, kann ein- oder ausgewechselt werden. Dadurch wird der Code im Laufe der Zeit anpassungsfähiger.
Das obige ist der detaillierte Inhalt vonEine Ausnahme auslösen, anstatt zurückzukehren. Was ist der tatsächliche Typ, den die Methode zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Bitcoin hat als Kryptowährung seit seiner Einführung erhebliche Marktvolatilität erlebt. Dieser Artikel bietet einen Überblick über den historischen Preis von Bitcoin seit seiner Geburt, um den Lesern zu helfen, seine Preistrends und Schlüsselmomente zu verstehen. Durch die Analyse der historischen Preisdaten von Bitcoin können wir die Einschätzung des Marktes über seinen Wert und die Faktoren, die seine Schwankungen beeinflussen, verstehen und eine Grundlage für zukünftige Investitionsentscheidungen schaffen.

Seit seiner Gründung im Jahr 2009 hat der Preis von Bitcoin im November 2021 auf 69.044,77 USD auf 69.044,77 USD gestiegen und im Dezember 2018 auf 3.191,22 USD gesunken. Ab Dezember 2024 hat der jüngste Preis 100.204 USD überschritten.

Echtzeit-Bitcoin-USD-Preis Faktoren, die den Bitcoin -Preis beeinflussen Indikatoren für die Vorhersage zukünftiger Bitcoin -Preise Hier finden Sie einige wichtige Informationen zum Preis von Bitcoin in den Jahren 2018-2024:

Ja, die H5-Seitenproduktion ist eine wichtige Implementierungsmethode für die Front-End-Entwicklung, die Kerntechnologien wie HTML, CSS und JavaScript umfasst. Entwickler bauen dynamische und leistungsstarke H5 -Seiten auf, indem sie diese Technologien geschickt kombinieren, z. B. die Verwendung der & lt; canvas & gt; Tag, um Grafiken zu zeichnen oder JavaScript zu verwenden, um das Interaktionsverhalten zu steuern.

Die Methode zur Anpassung der Größe der Größe der Größe der Größe in CSS ist mit Hintergrundfarben einheitlich. In der täglichen Entwicklung begegnen wir häufig Situationen, in denen wir die Details der Benutzeroberfläche wie Anpassung anpassen müssen ...

So verwenden Sie JavaScript oder CSS, um die obere und das Ende der Seite in den Druckeinstellungen des Browsers zu steuern. In den Druckeinstellungen des Browsers gibt es eine Option, um zu steuern, ob das Display ist ...

In Bezug auf die Gründe und Lösungen für falsch ausgerichtete Darstellung von Inline-Block-Elementen. Beim Schreiben von Webseitenlayout stoßen wir oft auf einige scheinbar seltsame Anzeigenprobleme. Vergleichen...

Das Problem der Containeröffnung aufgrund einer übermäßigen Auslassung von Text unter Flex -Layout und Lösungen werden verwendet ...