BAB 7: Exception Handling

BAB 7: Exception Handling

7.1 Try-Catch

Pengenalan Exception Handling

Exception adalah kejadian yang tidak diinginkan yang dapat mengganggu alur normal program. Exception handling memungkinkan kita menangani error dengan cara yang elegan.

Struktur Dasar Try-Catch

void main() {
  try {
    // Kode yang mungkin menghasilkan exception
    int result = 12 ~/ 0;  // Pembagian dengan nol
    print(result);
  } catch (e) {
    print('Terjadi error: $e');
  }
}

Menangkap Multiple Exception

void main() {
  try {
    // Kode yang mungkin menghasilkan exception
    String? input = null;
    print(input!.length);  // Null pointer exception
    
  } on FormatException {
    print('Format tidak valid!');
    
  } on NoSuchMethodError {
    print('Method tidak ditemukan!');
    
  } catch (e) {
    print('Error lain: $e');
  }
}

Stack Trace dalam Exception

7.2 Finally

Penggunaan Finally

Finally block akan selalu dijalankan, baik terjadi exception atau tidak.

Contoh Penggunaan Praktis

7.3 Custom Exception

Membuat Custom Exception

Menggunakan Custom Exception

7.4 Praktek: Program Validasi Form

Latihan Mandiri

  1. Tambahkan validasi untuk:

    • Username (alfanumerik, tanpa spasi)

    • Tanggal lahir (format dan umur minimal)

    • Konfirmasi password

  2. Implementasikan sistem login dengan validasi kredensial

  3. Buat form pendaftaran kursus dengan validasi:

    • Kapasitas kelas

    • Jadwal yang tersedia

    • Persyaratan prerequisite

Tips Exception Handling

  1. Gunakan exception handling untuk error yang bisa dipulihkan

  2. Buat custom exception yang spesifik untuk domain aplikasi

  3. Jangan tangkap exception terlalu umum

  4. Selalu bersihkan resources di block finally

  5. Berikan pesan error yang informatif

  6. Dokumentasikan exception yang mungkin terjadi

  7. Log error untuk debugging

  8. Validasi input sebelum diproses

Last updated

Was this helpful?