Bagaimana Mengendalikan Pengecualian Custom di Java?



Artikel ini akan membantu anda memahami Pengecualian Khusus di Jawa dan akan menyokong penjelasan dengan demonstrasi praktikal konsep.

memberikan pengguna pilihan untuk membuat pengecualian mereka sendiri. Pengecualian tersebut dikenali sebagai Pengecualian Khusus atau Pengecualian yang Ditentukan Pengguna. Dalam artikel ini kita akan meneroka Pengecualian Khusus di Jawa.

idea terbaik untuk pembangunan java

Petunjuk berikut akan dibahas dalam artikel ini,





Bermula artikel ini mengenai Pengecualian Khusus di Java.

Pengecualian Adat Di Jawa

Pengecualian khusus dapat dibuat seperti berikut,



[Java]
// kelas yang mewakili pengecualian yang ditentukan pengguna
kelas InvalidAgeException meluaskan Pengecualian {
Tidak SahAgeException (Rentetan) {
super
}
}
[/ java]

// kelas yang menggunakan Ujian kelas InvalidAgeException {static void validate (int age) membuang InvalidAgeException {if (umur<18) throw new InvalidAgeException('Invalid') else System.out.println('Eligible to Drive') } public static void main(String args[]){ try{ validate(15) }catch(Exception m){System.out.println('Exception: '+m)} System.out.println('Exit') } } 

Pengeluaran:

Pengecualian: InvalidAgeException: Tidak sah



Keluar

Melanjutkan dengan artikel ini mengenai Pengecualian Khusus di Java.

Perlu Pengecualian Tersuai

Sering kali, pengaturcara mendapati keperluan untuk menentukan pengecualiannya sendiri.

Sebab untuk memperkenalkan pengecualian ini adalah seperti berikut:

  • Terdapat pengecualian tertentu yang hanya ditentukan untuk logik perniagaan dan aliran kerja. Ini membolehkan pengguna menentukan punca masalah.
  • Untuk menangkap dan menangani pengecualian java yang ada atau yang telah ditentukan sebelumnya.

Java memberikan dua pengecualian kepada pengguna:

  • Pengecualian yang diperiksa khas
  • Pengecualian Tidak Disemak Khusus

Melanjutkan dengan artikel ini mengenai Pengecualian Khusus di Java.

Pengecualian yang diperiksa khas

Pengecualian yang diperiksa khas adalah pengecualian yang meluaskan pengecualian java.lang.Exception. Mereka boleh dipulihkan secara semula jadi dan ditangani secara eksplisit. Dalam contoh berikut, kod ditulis untuk mengembalikan baris pertama fail sebagai output:

cuba (Fail pengimbas = Pengimbas baru (Fail baru (nama file))) {if (file.hasNextLine ()) kembali file.nextLine ()} tangkap (FileNotFoundException e) {}

Kod membuang pengecualian FileNotFound. Punca pengecualian ini tidak diketahui oleh pengguna. Kami tidak mengetahui sumber pengecualian, sama ada ia disebabkan kerana fail tersebut tidak ada, atau kerana nama fail yang tidak sah. Untuk melaksanakan pengecualian khusus, kelas java.lang.Exception dilanjutkan.

kelas awam InvalidFileNameException meluaskan Pengecualian {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Pengecualian diperiksa khas yang disebut InvalidFileNameException dibuat.

Pembina mesti disediakan semasa membuat pengecualian. Dalam kes kami, konstruktor mengambil String sebagai mesej ralat, dan memanggil pembina kelas induk.

cuba (Fail pengimbas = Pengimbas baru (Fail baru (nama file))) {if (file.hasNextLine ()) kembali file.nextLine ()} tangkap (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {lemparkan InvalidFileNameException baru ( 'Nama fail tidak sah:' + nama fail)}}

Walaupun, pengguna kini mengetahui pengecualian yang tepat, kami telah kehilangan punca pengecualian tersebut. Ini boleh diperbaiki dengan menambahkan java.lang.Tempakan pada pembina. The InvalidFileNameException kini boleh digunakan dengan punca pengecualian:

awam InvalidFileNameException (String errorMessage, Throwable err) {super (errorMessage, err)}

Melanjutkan dengan artikel ini mengenai Pengecualian Khusus di Java

Pengecualian Tidak Disemak Khusus

Pengecualian diperiksa khas memperluas java.lang.RuntimeException. Mereka tidak dapat dipulihkan semula jadi.

kelas awam InvalidFileExtensionException meluaskan RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Pengecualian ini digunakan seperti berikut:

cuba (Fail pengimbas = Pengimbas baru (Fail baru (nama file))) {if (file.hasNextLine ()) {return file.nextLine ()} lain {buang IllegalArgumentException baru ('Fail tidak boleh dibaca.')}} tangkap ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {buang baru InvalidFileNameException ('Nama fail tidak sah:' + fileName, err)}} tangkapan (IllegalArgumentException err) {if (! MengandungExtension (fileName)) {lemparkan InvalidFileExt baru tidak mempunyai pelanjutan: '+ fileName, err)}}

Pengecualian yang ditentukan oleh pengguna adalah mustahak kerana membolehkan kami menentukan pengecualian yang kami miliki.

Oleh itu, kita telah mengakhiri artikel ini. Sekiranya anda ingin mempelajari lebih lanjut, lihat Java Training oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.