Pengecualian takrif pengguna Java ialah pengecualian tersuai yang dibuat dan melontar pengecualian itu menggunakan kata kunci 'buang'. Ia dilakukan dengan memanjangkan kelas 'Pengecualian'. Pengecualian ialah masalah yang timbul semasa pelaksanaan program. Dalam bahasa Pengaturcaraan Berorientasikan Objek, Java menyediakan mekanisme yang berkuasa untuk mengendalikan pengecualian tersebut. Java membenarkan untuk mencipta kelas pengecualian sendiri, yang menyediakan pelaksanaan kelas pengecualian sendiri. Pengecualian sedemikian dipanggil pengecualian yang ditentukan pengguna atau pengecualian tersuai. Mari kita gali lebih dalam dan lihat cara pengecualian yang ditentukan pengguna dicipta dalam Java, sintaksnya, jika ada, dan cara ia dilaksanakan dengan menyelesaikan beberapa contoh.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks:
Kami tidak mempunyai sebarang sintaks tertentu untuk pengecualian yang ditakrifkan pengguna Java; kita akan melihat cara membuat pengecualian yang ditentukan Pengguna.
Di bawah ialah kod yang akan membantu untuk Mencipta kelas pengecualian yang ditakrifkan Pengguna,
class SampleException{ public static void main(String args[]){ try{ throw new UserException(<value>); // used to create new exception and throw } catch(Exception e){ System.out.println(e); } } } class UserException extends Exception{ // code for exception class }
Di sini, semasa mencipta kelas pengecualian, ia perlu dilanjutkan daripada java. lang.Pengecualian.
Pengecualian ialah peristiwa yang membawa kepada penamatan program secara tiba-tiba semasa pelaksanaan pada masa jalanan.
Mari kita bincangkan contoh Pengecualian Ditentukan Pengguna Java.
class SampleException{ public static void main(String args[]){ try{ throw new UserException(400); } catch(UserException e){ System.out.println(e) ; } } } class UserException extends Exception{ int num1; UserException(int num2) { num1=num2; } public String toString(){ return ("Status code = "+num1) ; } }
Output:
Kata kunci 'lempar' digunakan untuk mencipta Pengecualian baharu dan membuangnya untuk menangkap blok.
class EmployeeException extends Exception { public EmployeeException(String s) { super(s); } } class SampleEmp { void empIDCheck(int EmpID) throws EmployeeException{ if(EmpID<=0 || EmpID>999){ throw new EmployeeException("Invalid Employee ID"); } } public static void main(String args[]) { SampleEmp emp = new SampleEmp(); try { emp.empIDCheck(0); } catch (EmployeeException e) { System.out.println("Exception caught"); System.out.println(e.getMessage()); } } }
Output:
Jika kami tidak menggunakan kelas lontaran di sini, ia akan memberikan ralat kompilasi sebagai 'Pengecualian Tidak Terkendali dalam kaedah'.
class SampleException extends Exception { private int e; SampleException(int num1) { e = num1; } public String toString() { return "(" + e +") is less than Ten"; } } class Demo1 { static void sum(int num,int num1) throws SampleException { if(num1<10) { throw new SampleException(num1); } else { System.out.println(num+num1); } } public static void main(String[] args) { try { sum(-5, 4); } catch(SampleException e1) { System.out.println(e1); } } }
Output:
class IDNotValid extends Exception { public IDNotValid(String s) { super(s); } } class Demo { static void find(int array[], int id) throws IDNotValid { boolean stdFlag = false; for (int i = 0; i < array.length; i++) { if(id == array[i]) stdFlag = true; } if(!stdFlag) { throw new IDNotValid("ID is not Valid!"); } else { System.out.println("ID is Valid!"); } } public static void main(String[] args) { try { find(new int[]{101, 102, 103, 104, 105, 106, }, 108); } catch(IDNotValid e) { System.out.println(e); } } }
Output:
Di sini kami menjana pelaksanaan pengecualian kami sendiri.
Terdapat kelebihan dalam menggunakan pengecualian yang ditentukan pengguna ini; ia membolehkan pengguna membuang pengecualian yang mahu pengguna ingin maksudkan. Pengguna juga boleh menggunakan semula mana-mana aplikasi sedia ada; mana-mana sekeping kod yang menangkap pengecualian memperkatakan kemungkinan pengecualian sebenar tidak dilemparkan oleh kod tetapi oleh beberapa kod pihak ketiga yang lain.
Pengguna boleh memisahkan kod pengendalian Ralat daripada kod Biasa, mengumpulkan dan membezakan jenis ralat.
Terdapat beberapa peraturan juga untuk membuat kelas Pengecualian.
Dengan ini, kami akan menyimpulkan topik 'kelas pengecualian pengguna Java'. Hampir semua pengecualian umum dalam Java disediakan yang berlaku dalam pengaturcaraan Java. Kami telah melihat penciptaan kelas pengecualian yang ditentukan pengguna dan melihat beberapa contoh pengecualian yang ditentukan pengguna. Pengguna tidak perlu melaksanakan apa-apa di dalam kelas; tiada kaedah diperlukan, dan juga mengatasi fungsi toString() untuk memaparkan mesej tersuai.
Atas ialah kandungan terperinci Pengecualian Ditakrifkan Pengguna Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!