

Buang pengecualian dan bukannya kembali. Apakah jenis sebenar yang dikembalikan oleh kaedah tersebut?
Artikel Soal Jawab Java yang dibawa oleh editor PHP Zimo akan menjawab soalan biasa: "Lemparkan pengecualian dan bukannya kembali. Apakah jenis sebenar yang dikembalikan oleh kaedah tersebut, apabila kaedah membuang pengecualian, jenis pulangan kaedah Ia sebenarnya tidak sah, bukan jenis pengecualian yang dilemparkan. Ini bermakna kaedah itu tidak mengembalikan sebarang nilai, tetapi melemparkannya terus apabila pengecualian ditemui. Apabila mengendalikan pengecualian, anda boleh menggunakan pernyataan cuba-tangkap untuk menangkap pengecualian dan mengendalikannya dengan sewajarnya untuk memastikan kestabilan dan kebolehpercayaan program.
Kandungan soalan
Saya sedang mendalami kaedah URL
类的 openStream()
di Jawa untuk mencari jenis pulangan sebenar. Daripada OpenJDK, sumbernya ialah:
InputStream akhir awam openStream() membuang java.io.IOException { Kembalikan openConnection().getInputStream(); }
Jenis pulangan jelas adalah Objek InputStream
, iaitu kelas abstrak. Jadi, ini adalah jenis yang diisytiharkan, apakah jenis sebenar objek yang dikembalikan?
Saya mengikuti kepulangan openConnection()
方法,该方法返回 URLConnection
类的对象。我还顺着它的源码找到了getInputSteam()
. Akhirnya, saya menjumpai kod ini:
Aliran input awam getInputStream() membuang IOException { buang UnknownServiceException baru("Protokol tidak menyokong input"); }
Soalan saya ialah apakah jenis pulangan sebenar getInputStream()
的实际返回类型是什么,这将是 openStream()
?
Penyelesaian
Berikut ialah contoh menggunakan alamat HTTPS.
Gunakan nyahpepijat proses dan letakkan titik putus pada URL#openStream kaedah.
Dan, saya maksudkan kaedah sebenar, bukan panggilan anda.
Dari sini, "langkah ke" kaedah openConnection.
Kemudian, "langkah ke" kaedah openConnection(URL).
Ini akan membawa anda ke kelas sun.net.www.protocol.https.Handler.
Teruskan sekali lagi ke kaedah openConnection(URL, Proxy), yang mengembalikan tika baharu sun.net.www.protocol.https.HttpsURLConnectionImpl.
Mengembara lebih jauh, anda akan mendapati bahawa contoh HttpsURLConnection dikembalikan melalui kelas sun.net.www.protocol.https.DelegateHttpsURLConnection.
Anda tahu, apabila saya mula menggunakan Java beberapa tahun lalu, saya (hampir) mengalami masalah ini, kecuali saya keliru tentang java.awt.Graphics
.
Lihat Memprogram ke antara muka
Ideanya ialah anda sebenarnya tidak perlu mengetahui kelas yang tepat - apa sahaja yang melaksanakan antara muka boleh ditukar masuk atau keluar. Ini menjadikan kod lebih mudah disesuaikan dari semasa ke semasa.
Atas ialah kandungan terperinci Buang pengecualian dan bukannya kembali. Apakah jenis sebenar yang dikembalikan oleh kaedah tersebut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bitcoin, sebagai mata wang kripto, telah mengalami turun naik pasaran yang ketara sejak penubuhannya. Artikel ini akan memberikan gambaran keseluruhan harga sejarah Bitcoin sejak kelahirannya untuk membantu pembaca memahami arah aliran harga dan detik pentingnya. Dengan menganalisis data harga sejarah Bitcoin, kami dapat memahami penilaian pasaran terhadap nilainya, faktor yang mempengaruhi turun naiknya, dan menyediakan asas untuk keputusan pelaburan masa hadapan.

Sejak penciptaannya pada tahun 2009, harga Bitcoin telah mengalami beberapa turun naik utama, meningkat kepada $ 69,044.77 pada November 2021 dan jatuh ke $ 3,191.22 pada Disember 2018. Sehingga Disember 2024, harga terkini telah melebihi $ 100,204.

Harga USD Bitcoin masa nyata Faktor yang menjejaskan harga bitcoin Petunjuk untuk meramalkan harga bitcoin masa depan Berikut adalah beberapa maklumat penting mengenai harga Bitcoin pada 2018-2024:

Ya, pengeluaran halaman H5 adalah kaedah pelaksanaan penting untuk pembangunan front-end, yang melibatkan teknologi teras seperti HTML, CSS dan JavaScript. Pemaju membina halaman H5 yang dinamik dan berkuasa dengan bijak menggabungkan teknologi ini, seperti menggunakan & lt; kanvas & gt; Tag untuk menarik grafik atau menggunakan JavaScript untuk mengawal tingkah laku interaksi.

Kaedah penyesuaian simbol saiz semula dalam CSS bersatu dengan warna latar belakang. Dalam perkembangan harian, kita sering menghadapi situasi di mana kita perlu menyesuaikan butiran antara muka pengguna, seperti menyesuaikan ...

Cara menggunakan JavaScript atau CSS untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas. Dalam tetapan percetakan penyemak imbas, ada pilihan untuk mengawal sama ada paparan ...

Mengenai sebab-sebab dan penyelesaian untuk memaparkan unsur-unsur blok sebaris. Apabila menulis susun atur laman web, kami sering menghadapi masalah paparan yang kelihatan aneh. Bandingkan ...

Masalah pembukaan kontena kerana peninggalan teks yang berlebihan di bawah susun atur flex dan penyelesaian digunakan ...