Java - Custom Exception

Haiya, para para Java! Hari ini, kita bakal melantikan masuk ke dunia yang penuh magik Custom Exceptions di Java. Jangan bimbang jika anda baru dalam bidang programming; saya akan memandu anda setiap langkah, seperti yang saya lakukan untuk ribuan murid selama tahun tahun pengajaran saya. Jadi, pegang keyboard anda (tongkat sihir), dan mari kita buat some exception spells!

Java - Custom Exception

Apa Itu Exceptions?

Sebelum kita masuk dalam custom exceptions, mari kita ingat-ingat apa itu exceptions di Java. Bayangkan anda sedang membuat makanan yang lezat, tetapi tiba-tiba anda menyedari anda kehabisan bahan penting. Itu seperti exception dalam programming - itu adalah peristiwa yang tak diharapkan yang mengganggu aliran biasa program anda.

Java menyediakan banyak exceptions bawaan, tapi kadang-kadang, kita perlu membuat sendiri. Itu di mana custom exceptions berguna!

Keperluan Custom Exceptions di Java

Anda mungkin bertanya-tanya, " Mengapa kita perlu custom exceptions ketika Java sudah punya banyak?" Baiklah, mari saya jelaskan dengan analogi yang menyenangkan.

Bayangkan anda sedang bermain permainan " Tangkap Exception." Exceptions bawaan Java seperti bola-bola biasa, tapi kadang-kadang anda butuh bola khusus yang pas kokoh di tangan anda. Itu apa yang custom exceptions - disesuaikan untuk memenuhi kebutuhan program khusus anda!

Custom exceptions membolehkan kita:

  1. Buat pesan kesalahan yang lebih bermakna
  2. Kelompokkan exceptions yang berkaitan
  3. Menambahkan properti tambahan ke exceptions

Membuat Custom Exception di Java

Sekarang, mari kita lipat lengan dan buat custom exception pertama kita! Lebih mudah daripada yang anda pikirkan.

Ini adalah struktur dasar:

public class MyCustomException extends Exception {
public MyCustomException(String message) {
super(message);
}
}

Mari kitauraikan ini:

  1. Kita buat kelas baru dan memberikan namanya (dalam hal ini, MyCustomException).
  2. Kita mengembangkan kelas Exception (atau RuntimeException jika kita ingin exception yang tidak dicek).
  3. Kita buat constructor yang mengambil String message.
  4. Kita panggil constructor kelas induk menggunakan super(message).

Contoh Custom Exception Java

Mari kita buat contoh yang lebih praktis. Bayangkan kita sedang membuat aplikasi perbankan, dan kita ingin membuat custom exception untuk saat seseorang mencoba menarik uang lebih banyak daripada yang merekapunyai di akun mereka.

public class InsufficientFundsException extends Exception {
private double amount;

public InsufficientFundsException(double amount) {
super("Maaf, dana tidak cukup. Anda perlu " + amount + " lagi.");
this.amount = amount;
}

public double getAmount() {
return amount;
}
}

Sekarang, mari kita lihat bagaimana kita bisa menggunakan exception ini di kelas BankAccount:

public class BankAccount {
private double balance;

public BankAccount(double initialBalance) {
this.balance = initialBalance;
}

public void withdraw(double amount) throws InsufficientFundsException {
if (amount > balance) {
double needs = amount - balance;
throw new InsufficientFundsException(needs);
}
balance -= amount;
System.out.println("Penarikan sukses. Saldo baru: " + balance);
}
}

Dan ini adalah bagaimana kita bisa menggunakannya dalam program utama kita:

public class BankingApp {
public static void main(String[] args) {
BankAccount account = new BankAccount(100);
try {
account.withdraw(150);
} catch (InsufficientFundsException e) {
System.out.println(e.getMessage());
System.out.println("Anda perlu mendeposit paling sedikit: " + e.getAmount());
}
}
}

Ketika anda menjalankan program ini, ia akan mengeluarkan:

Maaf, dana tidak cukup. Anda perlu 50.0 lagi.
Anda perlu mendeposit paling sedikit: 50.0

Bukannya menarik? Kita telah membuat custom exception yang tidak hanya memberitahu kita ada kesalahan tetapi juga memberikan informasi yang berguna tentang berapa uang lagi yang diperlukan!

Contoh: Membuat Custom Class dengan Mengembangkan RuntimeException

Kadang-kadang, anda mungkin ingin membuat exception yang tidak dicek. Dalam hal itu, anda akan mengembangkan RuntimeException bukan Exception. Ini adalah contoh:

public class InvalidAgeException extends RuntimeException {
public InvalidAgeException(String message) {
super(message);
}
}

Dan ini adalah bagaimana anda bisa menggunakannya:

public class Person {
private int age;

public void setAge(int age) {
if (age < 0 || age > 150) {
throw new InvalidAgeException("Umur harus antara 0 dan 150");
}
this.age = age;
}
}

Dalam kasus ini, kita tidak perlu mendeklarasikan exception dalam tanda tangan method atau menangkapnya secara eksplisit (walaupun seringkali baik untuk melakukan itu).

Kesimpulan

Dan begitu, teman-teman! Anda telah belajar bagaimana membuat dan menggunakan custom exceptions di Java. Ingat, custom exceptions adalah seperti pisau瑞士 Army knife pribadi anda dalam dunia coding - mereka membantu anda menangani kesalahan lebih efektif dan membuat kode anda lebih mudah dibaca dan maintainable.

Sekiranya anda terus melanjutkan perjalanan Java anda, anda akan menemukan lebih banyak penggunaan untuk custom exceptions. Mereka adalah alat yang kuat dalam kitab programming anda, membantu anda membuat aplikasi yang kuat dan ramah pengguna.

Terus latihan, terus coding, dan terutama, bersenang-senang! Akhirnya, seperti yang saya selalu katakan kepada murid-murid saya, programming adalah seperti magik - anda menciptakan sesuatu dari tidak ada. Dan sekarang, anda bahkan bisa mengendalikan bagaimana program anda bertindak saat sesuatu menjadi salah. Bagaimana menarik itu?

Sampai jumpa lagi, selamat coding!

Credits: Image by storyset