Jadual Kandungan
Apabila ralat berlaku semasa menjalankan program, pengecualian akan dilemparkan adalah lebih baik untuk membuang pengecualian daripada menamatkan program.
Pengecualian dan Ralat kedua-duanya diwarisi daripada kelas Boleh Dibuang Di Java, hanya contoh jenis Boleh dilemparkan Jenis komponen asas mekanisme pengendalian pengecualian. Pengecualian ialah pengecualian yang boleh diramal, yang boleh diperoleh dan diproses di luar perniagaan.
NoClassDefFoundError ialah ralat yang dilemparkan oleh JVM apabila ia tidak dapat mencari kelas yang sepadan apabila memuatkan kelas melalui classpath semasa runtime. ClassNotFoundException: Jika pengecualian ini mungkin berlaku semasa penyusunan, ia mesti dibuang semasa penyusunan.
Parameter pernyataan tangkapan adalah serupa dengan pengisytiharan kaedah, termasuk jenis pengecualian dan objek pengecualian. Jenis pengecualian mestilah subkelas kelas Boleh Lempar, yang menentukan jenis pengecualian yang diproses oleh pernyataan tangkapan Objek pengecualian dijana dan ditangkap oleh sistem masa jalan dalam blok kod yang ditentukan oleh kurungan kerinting objek, di mana kaedah Objek boleh dipanggil. Terdapat berbilang kenyataan tangkapan untuk mengendalikan jenis pengecualian yang berbeza masing-masing. Sistem masa jalan Java mengesan jenis pengecualian yang dikendalikan oleh setiap pernyataan tangkapan dari atas ke bawah sehingga pernyataan tangkapan dengan jenis yang sepadan ditemui. Di sini, pemadanan jenis bermaksud jenis pengecualian yang dikendalikan oleh tangkapan adalah sama persis dengan jenis objek pengecualian yang dijana atau kelas induknya Oleh itu, susunan penyata tangkapan hendaklah daripada khas kepada umum.
3 jujukan
4. Prinsip pengendalian pengecualian
Rumah Java javaTutorial Kuasai sepenuhnya prinsip dan aplikasi mekanisme pengendalian pengecualian Java

Kuasai sepenuhnya prinsip dan aplikasi mekanisme pengendalian pengecualian Java

Mar 29, 2022 pm 12:03 PM
java

Artikel ini membawa anda pengetahuan yang berkaitan tentang java, yang terutamanya memperkenalkan prinsip dan isu berkaitan aplikasi mekanisme pengendalian pengecualian, termasuk Pengecualian dan Ralat, sintaks trycatch dan perintah pelaksanaan trycatch Tunggu, saya harap ia membantu semua orang.

Kuasai sepenuhnya prinsip dan aplikasi mekanisme pengendalian pengecualian Java

Kajian yang disyorkan: "tutorial pembelajaran java" Mereka tidak asing dengannya, dan mereka semua sangat mahir menggunakannya.

Apabila ralat berlaku semasa menjalankan program, pengecualian akan dilemparkan adalah lebih baik untuk membuang pengecualian daripada menamatkan program.

Anda juga boleh melakukan operasi trycatch apabila diketahui bahawa ralat akan berlaku dan melakukan operasi unik tertentu apabila pengecualian berlaku.

1. Pengecualian dan Ralat

Pengecualian dan Ralat kedua-duanya diwarisi daripada kelas Boleh Dibuang Di Java, hanya contoh jenis Boleh dilemparkan Jenis komponen asas mekanisme pengendalian pengecualian. Pengecualian ialah pengecualian yang boleh diramal, yang boleh diperoleh dan diproses di luar perniagaan.

Ralat ialah pengecualian yang tidak dapat diramalkan Apabila ralat berlaku, ia secara langsung akan menyebabkan JVM tidak dapat mengendalikannya.

Pengecualian dibahagikan kepada pengecualian bertanda dan pengecualian tidak disemak.

Pengecualian yang diperiksa mesti ditangkap menggunakan tangkapan cuba (contohnya: IOException) semasa menulis kod.

Pengecualian yang tidak disemak, pengkompil tidak akan mengetahui sama ada ini akan berlaku sekali, seperti pengecualian penunjuk nol ini boleh dielakkan melalui spesifikasi semasa menulis atau menggunakan kod. Sebagai contoh, fungsi findbugs sts boleh mengesan pengecualian penuding nol dalam kod.

2. Apakah perbezaan antara NoClassDefFoundError dan ClassNotFoundException?

NoClassDefFoundError ialah ralat yang dilemparkan oleh JVM apabila ia tidak dapat mencari kelas yang sepadan apabila memuatkan kelas melalui classpath semasa runtime. ClassNotFoundException: Jika pengecualian ini mungkin berlaku semasa penyusunan, ia mesti dibuang semasa penyusunan.

Senario NoClassDefFoundError:

Kelas atau balang yang kelas bergantung tidak wujud

Fail kelas wujud, tetapi dalam domain yang berbeza. Hanya tidak dapat mencari
  1. ClassNotFoundException senario:
Apabila memanggil kaedah forName kelas, kelas yang ditentukan tidak boleh ditemui

findSystemClass dalam ClassLoader ( ) kaedah, kelas yang ditentukan tidak dapat ditemui
  1. 2. sintaks trycatch
public static void main(String[] args) {
    try {
        Class.forName("test");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }}
Salin selepas log masuk
1 pernyataan cuba

cuba A melampirkan bahagian kod dalam pendakap kerinting yang mungkin membuang satu atau lebih pengecualian.

2. Pernyataan Tangkapan

Parameter pernyataan tangkapan adalah serupa dengan pengisytiharan kaedah, termasuk jenis pengecualian dan objek pengecualian. Jenis pengecualian mestilah subkelas kelas Boleh Lempar, yang menentukan jenis pengecualian yang diproses oleh pernyataan tangkapan Objek pengecualian dijana dan ditangkap oleh sistem masa jalan dalam blok kod yang ditentukan oleh kurungan kerinting objek, di mana kaedah Objek boleh dipanggil. Terdapat berbilang kenyataan tangkapan untuk mengendalikan jenis pengecualian yang berbeza masing-masing. Sistem masa jalan Java mengesan jenis pengecualian yang dikendalikan oleh setiap pernyataan tangkapan dari atas ke bawah sehingga pernyataan tangkapan dengan jenis yang sepadan ditemui. Di sini, pemadanan jenis bermaksud jenis pengecualian yang dikendalikan oleh tangkapan adalah sama persis dengan jenis objek pengecualian yang dijana atau kelas induknya Oleh itu, susunan penyata tangkapan hendaklah daripada khas kepada umum.

3 Penyataan akhirnya

Tidak kira sama ada pengecualian dilemparkan dalam percubaan, kod dalam penyataan akhirnya akan dilaksanakan blok kenyataan sepatutnya untuk melepaskan Sumber yang dipohon.

4. melontar pernyataan

lontaran sentiasa muncul selepas pengepala fungsi untuk menunjukkan pengecualian yang mungkin dilemparkan oleh kaedah.

5. Pernyataan lontaran

serupa dengan lontaran, tetapi lokasi lontaran diletakkan dalam modul tangkapan dilaksanakan Kod selepas lemparan Tidak lagi dilaksanakan, kecuali akhirnya.

6. Pengecualian melontar

7 Pengecualian penangkapan

public void test() throws Exception{
    throw new Exception();};
Salin selepas log masuk

3 jujukan

bermula dari baris pertama kod dalam percubaan Apabila kod yang menyebabkan pengecualian dilaksanakan, JVM akan mencipta objek pengecualian.
try{
    //代码区}catch(Exception e){
    log.error("error: {}", e);}finally{
    //最后必须执行的部分}
Salin selepas log masuk
Tentukan sama ada tangkapan boleh menangkap objek pengecualian yang dibuat oleh jvm

Jika ditangkap, lompat ke blok kod tangkapan tanpa menamatkan program dan teruskan dengan logik kod dalam tangkapan ia tidak boleh ditangkap, cetak maklumat pengecualian secara terus dan tamatkan program.


Jika tiada pengecualian dalam percubaan, kod dalam percubaan akan dilaksanakan, langkau tangkapan dan masukkan blok kod akhirnya.

4. Prinsip pengendalian pengecualian

Jika pengecualian yang perlu dikesan dilemparkan dalam kaedah, ia mesti diisytiharkan dalam kaedah, jika tidak, ia mesti ditangkap dengan cuba-tangkap dalam kaedah, jika tidak penyusunan akan gagal.
Jika fungsi yang mengisytiharkan pengecualian dipanggil, sama ada cuba-tangkap atau lempar, jika tidak, kompilasi gagal.
Bila hendak menangkap dan bila hendak membuang? Kandungan berfungsi boleh diselesaikan, tetapi ia tidak boleh diselesaikan dengan menggunakan tangkapan Gunakan lontaran untuk memberitahu pemanggil bahawa ada pemanggil untuk menyelesaikannya.
Jika fungsi melontarkan berbilang pengecualian, mesti terdapat berbilang tangkapan sepadan untuk pemprosesan disasarkan semasa memanggil.

Pembelajaran yang disyorkan: "tutorial java"

Atas ialah kandungan terperinci Kuasai sepenuhnya prinsip dan aplikasi mekanisme pengendalian pengecualian Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Program Java untuk mencari kelantangan kapsul Program Java untuk mencari kelantangan kapsul Feb 07, 2025 am 11:37 AM

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Bagaimana untuk menjalankan aplikasi boot musim bunga pertama anda di Spring Tool Suite? Bagaimana untuk menjalankan aplikasi boot musim bunga pertama anda di Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

Spring Boot memudahkan penciptaan aplikasi Java yang mantap, berskala, dan siap pengeluaran, merevolusi pembangunan Java. Pendekatan "Konvensyen Lebih Konfigurasi", yang wujud pada ekosistem musim bunga, meminimumkan persediaan manual, Allo

See all articles