Rumah > Java > javaTutorial > Pengecualian Ditakrifkan Pengguna Java

Pengecualian Ditakrifkan Pengguna Java

WBOY
Lepaskan: 2024-08-30 16:15:08
asal
1127 orang telah melayarinya

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-olok

Mulakan 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
}
Salin selepas log masuk

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.

Contoh

Mari kita bincangkan contoh Pengecualian Ditentukan Pengguna Java.

Contoh #1: Program Mudah

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) ;
}
}
Salin selepas log masuk

Output:

Kata kunci 'lempar' digunakan untuk mencipta Pengecualian baharu dan membuangnya untuk menangkap blok.

Pengecualian Ditakrifkan Pengguna Java

Contoh #2: Untuk ID Tidak Sah

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());
}
}
}
Salin selepas log masuk

Output:

Pengecualian Ditakrifkan Pengguna Java

Jika kami tidak menggunakan kelas lontaran di sini, ia akan memberikan ralat kompilasi sebagai 'Pengecualian Tidak Terkendali dalam kaedah'.

Contoh #3: Untuk nilai yang lebih rendah daripada nilai yang ditentukan

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);
}
}
}
Salin selepas log masuk

Output:

Pengecualian Ditakrifkan Pengguna Java

Contoh #4: Untuk menyemak kesahihan ID

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);
}
}
}
Salin selepas log masuk

Output:

Pengecualian Ditakrifkan Pengguna Java

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.

  • Pembina: Ini tidak wajib dalam mencipta mana-mana pembina dalam kelas pengecualian tersuai. Menyediakan pembina berparameter dalam kelas pengecualian tersuai ialah amalan yang baik.
  • Konvensyen Penamaan: Semua kelas pengecualian disediakan oleh penghujung JDK; oleh itu, pengecualian tersuai hendaklah mengikut konvensyen penamaan.
  • Melanjutkan kelas Pengecualian: Jika pengguna mencipta kelas pengecualian tersuai, maka pengguna perlu melanjutkan 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!

Label berkaitan:
sumber: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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan