Java - Custom Exception (ID)

Halo teman-teman, para ahli Java masa depan! Hari ini, kita akan masuk ke dunia magis Ekscepsi Pribadi di Java. Jangan khawatir jika Anda baru belajar programming; saya akan memandu Anda dalam perjalanan ini langkah demi langkah, seperti yang telah saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil keyboard virtual Anda (wands), dan mari kita buat some exception spells!

Java - Custom Exception

Apa Itu Ekscepsi?

Sebelum kita masuk ke ekscepsi pribadi, mari kita ingat kembali apa itu ekscepsi di Java. Bayangkan Anda sedang memasak makanan lezat, tapi tiba-tiba Anda menyadari Anda kehabisan bahan penting. Itu seperti ekscepsi dalam programming – itu adalah peristiwa yang tak terduga yang mengganggu aliran normal program Anda.

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

Kebutuhan Ekscepsi Pribadi Java

Anda mungkin bertanya-tanya, "Mengapa kita perlu ekscepsi pribadi saat Java sudah memiliki begitu banyak?" Baiklah, mari saya menjelaskan dengan analogi menyenangkan.

Bayangkan Anda mainkan permainan " Tangkap Ekscepsi". Ekscepsi bawaan Java seperti bola standar, tapi kadang-kadang Anda butuh bola khusus yang pas di tangan Anda. Itu apa yang ekscepsi pribadi – disesuaikan untuk memenuhi kebutuhan program khusus Anda!

Ekscepsi pribadi memungkinkan kita untuk:

  1. Membuat pesan kesalahan yang lebih bermakna
  2. Mengelompokkan ekscepsi yang berkaitan
  3. Menambahkan properti tambahan ke ekscepsi

Membuat Ekscepsi Pribadi di Java

Sekarang, mari kita lipat lengan dan buat ekscepsi pribadi pertama kita! Itu 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 membuat kelas baru dan menamakannya (dalam kasus ini, MyCustomException).
  2. Kita meng-extend kelas Exception (atau RuntimeException jika kita ingin ekscepsi yang tak tercek).
  3. Kita membuat kontruktur yang menerima String pesan.
  4. Kita memanggil konuktur superclass menggunakan super(message).

Contoh Ekscepsi Pribadi Java

Mari kita buat contoh yang lebih praktis. Bayangkan kita membuat aplikasi perbankan, dan kita ingin membuat ekscepsi pribadi saat seseorang mencoba mengambil uang lebih banyak daripada yang ada di rekening mereka.

public class InsufficientFundsException extends Exception {
private double amount;

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

public double getAmount() {
return amount;
}
}

Sekarang, mari kita lihat bagaimana kita bisa menggunakan ekscepsi 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 mungkin menggunakannya di program utama:

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, itu akan mengeluarkan:

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

Apakah itu menarik? Kita telah membuat ekscepsi pribadi yang tidak hanya memberitahu kita tentang kesalahan tetapi juga memberikan informasi yang berguna tentang berapa uang lagi yang diperlukan!

Contoh: Membuat Kelas Pribadi dengan Meng-extend RuntimeException

Kadang-kadang, Anda mungkin ingin membuat ekscepsi yang tak tercek. Dalam kasus itu, Anda akan meng-extend RuntimeException instead of Exception. Ini adalah contoh:

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

Dan ini adalah bagaimana Anda mungkin menggunakannya:

public class Person {
private int age;

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

Dalam kasus ini, kita tidak perlu mendeklarasikan ekscepsi dalam tanda tangan metode atau menangkapnya secara eksplisit (walaupun seringkali baik untuk melakukannya).

Kesimpulan

Dan itu dia, teman-teman! Anda telah belajar membuat dan menggunakan ekscepsi pribadi di Java. Ingat, ekscepsi pribadi adalah seperti pisau multifungsi pribadi Anda di dunia coding – mereka membantu Anda menangani kesalahan lebih efektif dan membuat kode Anda lebih mudah dibaca dan maintainable.

Sekarang Anda terus melanjutkan perjalanan Java Anda, Anda akan menemukan lebih banyak penggunaan untuk ekscepsi pribadi. Mereka adalah alat kuat dalam peralatan programming Anda, membantu Anda membuat aplikasi yang kuat dan ramah pengguna.

Tetap berlatih, tetap mengoding, dan terutama, bersenang-senang! Setelah semua, seperti yang saya selalu katakan kepada murid-murid saya, programming seperti magi – Anda menciptakan sesuatu dari nothing. Dan sekarang, Anda bahkan bisa mengendalikan bagaimana program Anda berperilaku saat sesuatu salah. Bagaimana itu menarikkan?

Sampai jumpa lagi, coding yang menyenangkan!

Credits: Image by storyset