Inhaltsverzeichnis
Frageninhalt
Workaround
Heim Java Eine Ausnahme auslösen, anstatt zurückzukehren. Was ist der tatsächliche Typ, den die Methode zurückgibt?

Eine Ausnahme auslösen, anstatt zurückzukehren. Was ist der tatsächliche Typ, den die Methode zurückgibt?

Feb 22, 2024 pm 01:58 PM
overflow

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 InputStreams 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Überblick über den historischen Preis von Bitcoin seit seiner Geburt. Vollständige Sammlung historischer Preistrends von Bitcoin. Überblick über den historischen Preis von Bitcoin seit seiner Geburt. Vollständige Sammlung historischer Preistrends von Bitcoin. Jan 15, 2025 pm 08:14 PM

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.

Eine Liste der historischen Preise seit der Geburt von Bitcoin BTC Historical Price Trend Chart (neueste Zusammenfassung) Eine Liste der historischen Preise seit der Geburt von Bitcoin BTC Historical Price Trend Chart (neueste Zusammenfassung) Feb 11, 2025 pm 11:36 PM

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.

Der jüngste Preis für Bitcoin in den Jahren 2018-2024 USD Der jüngste Preis für Bitcoin in den Jahren 2018-2024 USD Feb 15, 2025 pm 07:12 PM

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:

Ist die H5-Seitenproduktion eine Front-End-Entwicklung? Ist die H5-Seitenproduktion eine Front-End-Entwicklung? Apr 05, 2025 pm 11:42 PM

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.

Wie kann man das Größensymbol durch CSS anpassen und es mit der Hintergrundfarbe einheitlich machen? Wie kann man das Größensymbol durch CSS anpassen und es mit der Hintergrundfarbe einheitlich machen? Apr 05, 2025 pm 02:30 PM

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 ...

Wie steuern Sie die obere und das Ende der Seiten in den Browser -Druckeinstellungen über JavaScript oder CSS? Wie steuern Sie die obere und das Ende der Seiten in den Browser -Druckeinstellungen über JavaScript oder CSS? Apr 05, 2025 pm 10:39 PM

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 ...

Warum sind die Inline-Block-Elemente falsch ausgerichtet? Wie löst ich dieses Problem? Warum sind die Inline-Block-Elemente falsch ausgerichtet? Wie löst ich dieses Problem? Apr 04, 2025 pm 10:39 PM

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...

Der Text unter Flex -Layout wird weggelassen, aber der Behälter wird geöffnet? Wie löst ich es? Der Text unter Flex -Layout wird weggelassen, aber der Behälter wird geöffnet? Wie löst ich es? Apr 05, 2025 pm 11:00 PM

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