Pengendalian pengecualian di Jawa adalah salah satu mekanisme yang kuat untuk menangani kesalahan tertentu yang timbul dalam urutan kode pada saat runtime. Pengecualian adalah apa-apa tetapi ralat runtime yang mengganggu aliran normal aplikasi.
Ia biasanya berlaku dalam sekeping kod dan apabila ia berlaku, objek yang mewakili pengecualian itu dibuat dan dibuang dalam kaedah yang menyebabkannya. Akibatnya, program atau aplikasi terganggu menyebabkan permohonan itu ditamatkan secara tidak normal, yang tidak disyorkan. Inilah sebabnya pengecualian ini akan dikendalikan dan ini adalah di mana mekanisme pengendalian pengecualian datang ke gambar.
Terdapat dua jenis pengecualian yang wujud di Jawa - Pengecualian Diperiksa dan Tidak Tersemak. Dalam artikel ini, kita akan membincangkan secara terperinci apa yang diperiksa dan tidak terkecuali pengecualian dan apabila menggunakannya, dan akhirnya, kita akan melihat perbezaan antara kedua.
Ini adalah pengecualian yang diperiksa dan dikendalikan pada masa penyusunan. Java mentakrif beberapa kelas pengecualian di dalam pakej standard java.lang, dan pengecualian yang paling umum adalah subkelas jenis standard RuntimeException.
Pengecualian yang berlaku di kawasan di luar kawalan segera program ini dikenali sebagai pengecualian diperiksa. Sekiranya kaedah melemparkan pengecualian diperiksa pada masa kompilasi yang tidak dapat mengendalikannya sendiri, maka ia harus mengendalikan pengecualian dalam menangkap blok atau mengisytiharkan pengecualian menggunakan melemparkan kata kunci, jika tidak, ia akan memberikan ralat kompilasi. Pengkompil meneliti jenis objek pengecualian untuk masing-masing buang pernyataan dan jika ia ditunjukkan diperiksa, pengkompil memeriksa kod sumber untuk memastikan pengecualian ditangani dalam kaedah di mana ia dilemparkan atau diisytiharkan supaya ia boleh dikendalikan selanjutnya.
Semua pengecualian yang dihuraikan oleh Pengecualian yang merupakan subclass langsung kecuali untuk RuntimeException dipanggil pengecualian diperiksa. Sekarang apabila menggunakan pengecualian diperiksa? Anda boleh memilih untuk menggunakan pengecualian yang diperiksa apabila anda mengetahui dengan tepat apa yang perlu dilakukan semasa Pengecualian berlaku atau apabila peluang kegagalan lebih banyak. Beberapa contoh pengecualian diperiksa di perpustakaan Java termasuk IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, dll..
Ini adalah pengecualian yang tidak diperiksa pada masa penyusunan. Pengecualian yang tidak ditandakan mewakili keadaan yang umumnya mencerminkan kesilapan dalam logik program dan yang tidak dapat diperoleh semula dari semasa proses runtime.
Secara ringkas, pengecualian yang tidak terkawal adalah pengecualian yang tidak ditangkap dalam cuba tangkap blok. Mereka tidak perlu ditangkap dengan jelas. Sebenarnya, apabila pengecualian yang tidak terkawal berlaku, Java mengendalikan pengecualian secara automatik. Pengecualian tidak terkawal kebanyakannya berlaku kerana kesalahan pengaturcaraan seperti ketika mengakses unsur di luar ikatan array atau mengakses metode objek nol. Di Jawa, semua pengecualian yang dibuang dapat dikecualikan pengecualian, sedangkan pengecualian yang merupakan subkelas langsung dari Ralat dan RuntimeException pengecualian yang tidak terkawal.
Bahagian pengecualian yang tidak terkawal adalah bahawa ia tidak mengurangkan kebolehbacaan kod sambil mengekalkan kod klien bersih. Beberapa contoh pengecualian yang tidak terkawal termasuk ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, dll..
Pengecualian Diperiksa dan Tidak Tersemak adalah dua jenis pengecualian yang terdapat di Jawa untuk memastikan aliran normal aplikasi. Kedua-duanya berkhidmat dengan tujuan yang sama iaitu mengendalikan pengecualian di Jawa dan walaupun tidak terdapat perbezaan dalam fungsinya, tidak ada aturan tunggal untuk menentukan kapan harus diperiksa dan bila menggunakan pengecualian yang tidak terkawal. Pengecualian diperincikan adalah pengecualian yang diperiksa pada masa penyusunan, sedangkan pengecualian yang tidak ditandai adalah yang tidak diperiksa pada masa penyusunan.
Pengecualian diperiksa merujuk kepada senario yang tidak sah yang berlaku di luar kawalan langsung program manakala pengecualian yang tidak terkawal merujuk kepada kesilapan dalam program atau pepijat dalam logik program yang tidak dapat dipulihkan dari semasa runtime.
Jika kaedah melemparkan pengecualian yang diperiksa, pengkompil akan memeriksa sama ada kaedah tersebut mengendalikan pengecualian itu menggunakan blok tangkapan cuba atau menentukan pengecualian menggunakan kata kunci lontaran. Sekiranya kaedah tidak menyediakan kod pengendalian, ia akan menunjukkan ralat kompilasi. Sebaliknya, program ini dikompilasi dengan baik kerana pengkompil tidak menyemak Pengecualian Tidak Tersemak pada masa kompilasi.
Pengecualian yang tidak diperoleh daripada RunTimeException sering dikendalikan sedangkan pengecualian yang berlaku pada waktu runtuh jarang ditangani. Pengecualian Diperiksa berlaku apabila peluang kegagalan terlalu tinggi. Pengecualian tidak tercatat, sebaliknya, kebanyakannya disebabkan oleh kesilapan pengaturcaraan. Semua pengecualian di bawah kelas RuntimeException dan Ralat adalah pengecualian yang tidak terkawal, sementara segala-galanya yang berada di bawah lemparan akan dikecualikan pengecualian.
Beberapa contoh pengecualian diperiksa ialah IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, dan banyak lagi. Contoh pengecualian tidak terkawal termasuk NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, dll..
Pengecualian Semak dan Pengecualian adalah dua jenis pengecualian yang terdapat di Jawa. Walaupun fungsinya adalah sama untuk kedua-dua pengecualian, mereka mempunyai bahagian perbezaan yang saksama. Perbezaan utama antara pengecualian yang diperiksa dan tidak ditandakan adalah bahawa bekas diperiksa oleh pengkompil manakala yang terakhir melarikan diri daripada notis pengkompil. Pengecualian yang diperiksa dan dikendalikan pada masa penyusunan diperiksa pengecualian, sementara pengecualian yang tidak diperiksa dan dikendalikan pada masa penyusunan adalah pengecualian yang tidak terkawal. Artikel ini menerangkan apa yang diperiksa dan pengecualian yang tidak terkawal, apabila menggunakannya, dan menjelaskan perbezaan antara kedua-dua.